1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Tìm hiểu một số kỹ thuật tách người khỏi cảnh nền trong matlab

61 434 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 61
Dung lượng 4,46 MB

Nội dung

Giới thiệu bài toán + Đọc ảnh chứa người vào ma trận 2 + Đưa ảnh chứa người về ảnh mức xám => Trừ ma trận 1 cho ma trận 2 thu được một ảnh kết quả - Kỹ thuật tách người ra khỏi ảnh dựa

Trang 1

LỜI CẢM ƠN

Để hoàn thành tốt đồ án này, lời đầu tiên em xin cám ơn Ban Giám Hiệu trường Đại Học Công Nghệ Thông Tin & Truyền Thông đã tạo điều kiện cho em được học tập tại trường, và đặc biệt em xin gửi lời cám ơn chân thành nhất đến

Cô TS.NÔNG THỊ HOA giảng viên Trường Công Nghệ Thông Tin & truyền

thông đã trang bị cho em những kiến thức chuyên môn, quan tâm và tận tình hướng dẫn, giúp đỡ em hoàn thành một cách tốt nhất trong đợt làm đồ án này

Bên cạnh đó để hoàn thành tốt đồ án này em cũng đã nhận được nhiều sự giúp đỡ những lời động viên quý báu của bạn bè, em xin chân thành cảm ơn

Tuy nhiên do thời gian không nhiều, cũng như lượng kiến thức còn hạn chế nên bài báo cáo của em sẽ khó tránh khỏi những thiếu sót Em rất mong nhận được sự thông cảm và sự chỉ bảo tận tình của quý Thầy Cô và các bạn để thực hiện tốt đồ án này Một lần nữa em xin chân thành cảm ơn

Thái Nguyên, ngày 28 tháng 4năm 2017

Sinh Viên

Nguyễn Trọng Thành

Trang 2

LỜI CAM ĐOAN

Em xin cam đoan rằng số liệu và kết quả nghiên cứu trong đồ án này là trung thực và không trùng lặp với các đề tài khác Em cũng xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện đồ án này đã được cảm ơn và các thông tin trích dẫn trong đồ án đã được chỉ rõ nguồn gốc

Thái Nguyên, ngày 28 tháng 4năm 2017

Sinh Viên

Nguyễn Trọng Thành

Trang 3

MỤC LỤC

LỜI CẢM ƠN 1

LỜI CAM ĐOAN 2

MỤC LỤC 3

DANH MỤC HÌNH 5

LỜI MỞ ĐẦU 7

CHƯƠNG 1: MỘT SỐ KỸ THUẬT PHÁT HIỆN NGƯỜI TRONG ẢNH 8

1.1 Giới thiệu bài toán 8

1.1.1 Bài toán 8

1.1.2 Mô tả cách làm 8

1.2 Giới thiệu phương pháp trừ nền ảnh 10

1.2.1 Khái niệm 10

1.2.2 Frame difference 10

1.2.3 Running Gaussian Average 10

1.2.4 Codebook 10

1.3 Giới thiệu các phương pháp tách biên 11

1.3.1.Giới thiệu chung 11

1.3.2 Kỹ thuật tách biên canny 13

1.3.3 Kỹ thuật tách biên Sobel 15

1.3.4 Kỹ thuật tách biên prewitt 16

1.3.5.Kỹ thuật tách biên Robert 16

CHƯƠNG 2: CÁC HÀM VÀ CÁC LỆNH TRONG MATLAB DÙNG CHO NHIỆM VỤ TÁCH NGƯỜI RA KHỎI ẢNH 18

2.1 Hàm imread 18

2.1.1 Cú pháp 18

2.1.2 Ý nghĩa 18

2.1.3 Ví dụ 18

2.2 Hàm imresize 19

2.1.1 Cú pháp 19

2.1.2.Ý nghĩa 19

Trang 4

2.1.3.Ví dụ 20

2.3 Hàm rgb2gray 20

2.1.1 Cú pháp 20

2.1.2.Ý nghĩa 20

2.1.3.Ví dụ 20

2.4 Hàm edge 21

2.4.1 Cú pháp 21

2.4.2.Ý nghĩa 22

2.4.3.Ví dụ 23

2.5 Các lệnh thao tác với ma trận 23

2.5.1 Tổng quan về ma trận 23

2.5.2 Các toán hạng trong ma trận 25

CHƯƠNG 3: KẾT QUẢ THỰC NGHIỆM VỚI CÁC ẢNH THỰC 29

3.1 Thu thập dữ liệu 29

3.2 Kết quả thử nghiệm 29

3.2.1 Kết quả thử nghiệm với bộ ảnh người với nền trắng 30

3.2.2 Kết quả thử nghiệm với bộ ảnh người đứng trong phòng 37

3.2.3 Kết quả thử nghiệm với bộ ảnh hai người xuất hiện trong phòng 44

3.2.4 Kết quả thử nghiệm với bộ ảnh chụp ngoài trời 51

3.3 Nhận xét đánh giá kết quả chung 58

KẾT LUẬN 59

TÀI LIỆU THAM KHẢO 60

Trang 5

DANH MỤC HÌNH

Hình 1.1 Các loại đường biên 11

Hình 1.2 Mặt nạ phát hiện cạnh và 8 hướng cạnh 14

Hình 1.3 Phạm vi góc của cạnh chuẩn đối với 4 kiểu hướ ng cạnh trong một cửa sổ 3×3 Mỗi hướng cạnh có 2 phạm vi được trình bày tương ứng các hình xám 15 Hình 2.1 Hàm imread thay đổi kích thước của ảnh 20

Hình 2.2 Hàm rgb2gray chuyển từ ảnh màu về ảnh xám 21

Hình 2.3 Hàm edge Tìm các cạnh của một hình ảnh sử dụng phương pháp Prewitt và Canny 23

Hình 3.1: Kết quả thử nghiệm ảnh 1 của bộ ảnh người với nền trắng 30

Hình 3.2: Kết quả thử nghiệm ảnh 2 của bộ ảnh người với nền trắng 31

Hình 3.3: Kết quả thử nghiệm ảnh 3 của bộ ảnh người với nền trắng 32

Hình 3.4: Kết quả thử nghiệm ảnh 4 của bộ ảnh người với nền trắng 33

Hình 3.5: Kết quả thử nghiệm ảnh 5 của bộ ảnh người với nền trắng 34

Hình 3.6: Kết quả thử nghiệm ảnh 6 của bộ ảnh người với nền trắng 35

Hình 3.7: Kết quả thử nghiệm ảnh 7 của bộ ảnh người với nền trắng 36

Hình 3.8: Kết quả thử nghiệm ảnh 1 của bộ ảnh người đứng trong phòng 37

Hình 3.9: Kết quả thử nghiệm ảnh 2 của bộ ảnh người đứng trong phòng 38

Hình 3.10: Kết quả thử nghiệm ảnh 3 của bộ ảnh người đứng trong phòng 39

Hình 3.11: Kết quả thử nghiệm ảnh 4 của bộ ảnh người đứng trong phòng 40

Hình 3.12: Kết quả thử nghiệm ảnh 5 của bộ ảnh người đứng trong phòng 41

Hình 3.13: Kết quả thử nghiệm ảnh 6 của bộ ảnh người đứng trong phòng 42

Hình 3.14: Kết quả thử nghiệm ảnh 7 của bộ ảnh người đứng trong phòng 43

Hình 3.15: Kết quả thử nghiệm ảnh 1 của bộ ảnh hai người trong phòng 44

Hình 3.16: Kết quả thử nghiệm ảnh 2 của bộ ảnh hai người trong phòng 45

Hình 3.17: Kết quả thử nghiệm ảnh 3 của bộ ảnh hai người trong phòng 46

Hình 3.18: Kết quả thử nghiệm ảnh 4 của bộ ảnh hai người trong phòng 47

Hình 3.19: Kết quả thử nghiệm ảnh 5 của bộ ảnh hai người trong phòng 48

Hình 3.20: Kết quả thử nghiệm ảnh 6 của bộ ảnh hai người trong phòng 49

Hình 3.21: Kết quả thử nghiệm ảnh 7 của bộ ảnh hai người trong phòng 50

Trang 6

Hình 3.22: Kết quả thử nghiệm ảnh 1 của bộ ảnh chụp ngoài trời 51

Hình 3.23: Kết quả thử nghiệm ảnh 2 của bộ ảnh chụp ngoài trời 52

Hình 3.24: Kết quả thử nghiệm ảnh 3 của bộ ảnh chụp ngoài trời 53

Hình 3.25: Kết quả thử nghiệm ảnh 4 của bộ ảnh chụp ngoài trời 54

Hình 3.26: Kết quả thử nghiệm ảnh 5 của bộ ảnh chụp ngoài trời 55

Hình 3.27: Kết quả thử nghiệm ảnh 6 của bộ ảnh chụp ngoài trời 56

Hình 3.28: Kết quả thử nghiệm ảnh 7 của bộ ảnh chụp ngoài trời 57

Trang 7

LỜI MỞ ĐẦU

Trong những năm gần đây với sự phát triển vượt trội của khoa học kỹ thuật đặt biệt là công nghệ thông tin, với những ứng dụng của công nghệ thông tin vào các lĩnh vực đã đóng góp phần to lớn cho sự nghiệp phát triển của con người.Xử lý ảnh là một phân ngành trong xử lý số tín hiệu với tín hiệu xử lý là ảnh.Đây là một phân ngành khoa học mới rất phát triển trong những năm gần đây Xử lý ảnh gồm 4 lĩnh vực chính: xử lý nâng cao chất lượng ảnh, nhận dạng ảnh, nén ảnh và truy vấn ảnh Sự phát triển của xử lý ảnh đem lại rất nhiều lợi ích cho cuộc sống của con người

Một đất nước đang phát triển mạnh mẽ, cuộc sống con người càng ngày nâng cao Tóm lại nhu cầu con người ngày càng cao vì thế nhu cầu sử dụng công nghệ và các thiết bị công nghệ để lưu trữ lại hình ảnh, video, những khoảnh khắc đáng nhớ trong cuộc sống và phục vụ công việc hàng ngày.Ngày nay xử lý ảnh

đã được áp dụng rất rộng rãi trong đời sống như: photoshop, nén ảnh, nén video, nhận dạng biển số xe, nhận dạng khuôn mặt, nhận dạng chữ viết, xử lý ảnh thiên văn, ảnh y tế, Qua quá trình tự tìm hiểu cũng như được sự gợi ý của cô giáo

T.S Nông Thị Hoa e đã chọn đề tài“Tìm hiểu một số kỹ thuật tách người khỏi cảnh nền trong matlab” để tìm hiểu và thực hiện trong suốt quá trình làm

đồ án của mình

Trang 8

CHƯƠNG 1:

MỘT SỐ KỸ THUẬT PHÁT HIỆN NGƯỜI TRONG ẢNH

1.1 Giới thiệu bài toán

+ Đọc ảnh chứa người vào ma trận 2

+ Đưa ảnh chứa người về ảnh mức xám

=> Trừ ma trận 1 cho ma trận 2 thu được một ảnh kết quả

- Kỹ thuật tách người ra khỏi ảnh dựa trên tách biên Canny tiến hành như sau:

+ Đọc ảnh nền vào ma trận 1

+ Đưa ảnh nền về ảnh mức xám

+ Tiến hành tách cạnh cho ảnh nền

+ Đọc ảnh chứa người vào ma trận 2

+ Đưa ảnh chứa người về ảnh mức xám

+ Tiến hành tách cạnh cho ảnh chứa người

Trang 9

=> Trừ hai ma trận 1 và 2 thu được một ảnh kết quả của kỹ thuật tách người khỏi ảnh dựa trên tách biên Canny

- Kỹ thuật tách người ra khỏi ảnh dựa trên tách biên Prewitt gồm các bước:

+ Đọc ảnh nền vào ma trận 1

+ Đưa ảnh nền về ảnh mức xám

+ Tiến hành tách cạnh đối với ảnh nền

+ Đọc ảnh chứa người vào ma trận 2

+ Đưa ảnh chứa người về ảnh mức xám

+ Tiến hành tách cạnh cho ảnh chứa người

=> Trừ hai ma trận 1 và 2 thu được một ảnh kết quả của phương pháp tách người dựa trên tách biên Prewitt

- Kỹ thuật tách người ra khỏi ảnh dựa trên tách biên Robert gồm các bước: + Đọc ảnh nền vào ma trận 1

+ Đưa ảnh nền về ảnh mức xám

+ Tiến hành tách cạnh cho ảnh nền

+ Đọc ảnh chứa người vào ma trận 2

+ Đưa ảnh chứa người về ảnh mức xám

+ Tiến hành tách cạnh cho ảnh chứa người

=> Trừ hai ma trận 1 và 2 thu được một ảnh kết quả của kỹ thuật tách người dựa trên tách biên Robert

- Kỹ thuật tách người ra khỏi ảnh dựa trên tách biên Sobel gồm các bước: + Đọc ảnh nền vào ma trận 1

+ Đưa ảnh nền về ảnh mức xám

+ Tiến hành tách cạnh cho ảnh nền

+ Đọc ảnh chứa người vào ma trận 2

+ Đưa ảnh chứa người về ảnh ở mức xám

+ Tiến hành tách cạnh cho ảnh chứa người

=> Trừ hai ma trận 1 và 2 thu được một ảnh kết quả tách người ra khỏi ảnh dựa trên tách biên Sobel

Trang 10

Từ các cách tiến hành trên đưa ra nhận xét đánh giá và so sánh giữa các

kỹ thuật với nhau từ đó chọn ra được kỹ thuật tốt nhất cho việc phát hiện đối tượng cụ thể là phát hiện người trong ảnh

1.2 Giới thiệu phương pháp trừ nền ảnh

1.2.1 Khái niệm

Phương pháp tách cảnh nền (Background subtraction) hay có thể gọi phương pháp phát hiện tiền cảnh (Tiếng Anh: foreground detection) là một kỹ thuật trong lĩnh vực xử lý ảnh và thị giác máy tính khi mà tiền cảnh (foreground)

sẽ được tách ra cho những bước xử lý tiếp theo (ví dụ như nhận dạng đối tượng, nhận dạng cử chỉ, chuyển động, vv) Thông thường những vùng ảnh quan tâm sẽ thuộc vùng tiền cảnh của bức ảnh, vì vậy việc tách cảnh nền hiệu quả và chính xác giúp cho các hệ thống này đạt được sự ổn định và tính nhanh chóng Sau bước tiền xử lý, các bước xử lý tiếp theo sẽ sử dụng kỹ thuật tách nền này Tách cảnh nền được ứng dụng rộng rãi trong nhiều lĩnh vực như camera giám sát, nhận dạng đối tượng, nhận dạng cử chỉ đối tượng, giao thông để theo dõi lưu lượng xe

Ý tưởng chung của các phương pháp trừ nền là : Để phát hiện ra các đối tượng chuyển động trong video, đối tượng trong ảnh chúng ta phải có được mô hình nền (background) Mô hình nền này có thể được lọc qua nhiều frame ảnh nếu nền bị thay đổi Sau đó, ta sẽ dùng mô hình nền này để so sánh với frame ảnh hiện tại và kết quả là ta sẽ nhận biết được đâu là vùng phần nền, đâu là các phần chuyển động và các đối tượng

1.2.2 Frame difference

Ý tưởng chính trong frame difference là các đối tượng chuyển động sẽ được phát hiện dựa trên sự khác biệt giữa hai frame ảnh liên tiếp nhau với cùng một ngưỡng được chọn

1.2.3 Running Gaussian Average

Phương pháp này do Wren, Azarbayejani, Darrell và Pentland đưa ra vào năm 1997 Phương pháp này đặt một phân phối Gaussian G(µ, σ) lên sự biến thiên giá trị của mỗi pixel trong đoạn video

1.2.4 Codebook

Trang 11

Ý tưởng chính của phương pháp này là tại mỗi pixel của mô hình nền, một tập các cluster với tâm và giới hạn trong không gian màu sẽ được xây dựng nhằm thể hiện sự phân bố của pixel nền trong không gian màu đó Mỗi cluster như vậy được gọi là codeword, tập cluster tại mỗi vị trí pixel được gọi là codebook

1.3 Giới thiệu các phương pháp tách biên

1.3.1.Giới thiệu chung

+ 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 Các loại đường biên: có 3 loại đường biên chính là đường biên lý tưởng, đường biên bậc thang và đường biên thực (tương ứng từ trái qua phải như hình vẽ)

Hình 1.1 Các loại đường biên

+ Đường biên lý tưởng được định nghĩa là sự thay đổi giá trị cấp xám tại một vị trí xác định.Nếu sự thay sự thay đổi cấp xám giữa các vùng trong ảnh càng lớn thì đường biên càng dễ nhận ra.Trong trường hợp này sự thay đổi lại diễn ra tại một điểm nên đường biên có độ rộng là một điểm ảnh và vị trí của đường biên chính là vị trí thay đổi cấp xám

Trang 12

+ Đường biên bậc thang: là đường biên xuất hiện khi có sự thay đổi cấp xám trải rộng qua nhiều điểm ảnh Vị trí của đường biên được xem như vị trí chính giữa của đường nối giữa cấp xám thấp và cấp xám cao.Tuy nhiên đây chỉ

là đường thẳng trong toán học, từ khi ảnh được kỹ thuật số hoá thì đường đó không còn là đường thẳng mà thành những đường không trơn

+ Đường biên thực: là đường biên xuất hiện khi có sự thay đổi cấp xám tại nhiều điểm ảnh nhưng không trơn

- Quy trình phát hiện biên:

Bước 1: Lọc nhiễu do ảnh ghi vào thường có nhiễu

Bước 2: Làm nổi biên sử dụng các toán tử phát hiện biên

Bước 3: Định vị biên (cần loại bỏ biên giả)

Bước 4: Liên kết và trích chọn biên

Phân loại

Phương pháp phát hiện biên trực tiếp

- Dựa vào sự biến thiên độ sáng của điểm ảnh để làm nổi biên ( kỹ thuật đạo hàm – phương pháp dò biên cụ bộ):

• Đạo hàm bậc nhất của ảnh: phương pháp Gradient

• Đạo hàm bậc hai của ảnh:phương pháp Laplace

- Phương pháp “đi theo đường bao” theo nguyên lý quy hoạch động (dò biên tổng thể)

Phương pháp dò biên trực tiếp có hiệu quả và ít bị tác động của nhiễu nếu

có sự thay đổi đột biến của độ sáng

Phương pháp phát hiện biên gián tiếp

Nếu ta phân ảnh thành vùng ảnh khác nhau thì đường phân cách giữa các vùng đó chính là biên

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ỏ

Trang 13

 Hai phương pháp trên là đối ngẫu của nhau vì:

Nếu dò được biên để thực hiện phân lớp các đối tượng thì cũng có nghĩa là phân vùng được ảnh

Ngược lại, nếu ảnh đã được phân vùng thì ta cũng xác định được biên

1.3.2 Kỹ thuật tách biên canny

Mặc dù rất phức tạp nhưng thuật toán canny [1986] nhìn chung có ưu điểm hơn cho việc phát hiện biên Phương pháp tiếp cận của canny là dựa trên 3 mục tiêu chính:

Tỷ lệ sai thấp (low error rate): tất cả các biên cần được phát hiện không nên đáp ứng với tạp nhiễu (spurious response) Nghĩa là biên được tách càng dày đặc thì càng tốt so với biên thực

Các điểm biên nên được xác định chính xác (edge points should be well localized): các biên được xác định phải càng dày đặc càng tốt so với biên thực Nghĩa là: khoảng cách giữa một điểm được đánh dấu bằng một biên và tâm của biên thực nên nhỏ

Đáp ứng điểm đơn biên (single edge point response): Bộ dò biên nên trả

về một điểm cho mỗi điểm biên thực Nghĩa là: số lượng vị trí tối đa xung quanh biên thực (true edge) nên nhỏ Điều này có nghĩa là bộ dò không nên xác định nhiều pixel biên mà ở đó chỉ duy nhất một điểm đơn biên tồn tại

Bản chất của thuật toán canny là biểu diễn theo toán học 3 tiêu chuẩn đó

và cố gắng tìm ra giải pháp tối ưu (optimal solution) cho những mục đích này Nhìn chung rất khó để tìm ra giải pháp mà thỏa mãn cả 3 Tuy nhiên, việc sử dụng tối ưu hóa số với các biên bậc 1-D bị nhiễu bởi nhiễu Gauss trắng dẫn đến giải pháp mà xấp xỉ tốt cho bộ dò bậc tối ưu là lấy đạo hàm cấp 1 của một hàm gauss

Kết quả này đối với 2-D giải quyết việc nhận dạng mà phương pháp 1-D vẫn áp dụng theo hướng của biên chuẩn Do hướng của biên chuẩn được biết trước, điều này sẽ cần áp dụng bộ dò biên 1-D trong tất cả các hướng có thể Công việc này có thể được xấp xỉ bằng cách làm trơn ảnh trước tiên với một hàm

Trang 14

gauss 2-D, tính toán đạo hàm cấp 1 của kết quả này và sau đó sử dụng độ lớn và hướng đạo hàm cấp một để ước tính độ lớn và hướng biên tại mọi điểm

Bởi vì nó được tạo ra bằng cách dùng đạo hàm cấp 1, M(x, y) chứa các

đường ngoằn ngoèo rộng xung quanh vị trí lớn nhất Tiếp theo là làm mảnh đường này Một phương pháp là sử dụng triệt điểm không cực đại.Bản chất của phương pháp là để định rỏ một hướng biên chuẩn rời rạc.Ví dụ trong vùng 3×3 chúng ta có thể định 4 hướng cho một biên thông qua điểm trung tâm của vùng ngang, dọc, +450, -450 Bởi vì chúng ta phảilượng tử tất cả các hướng biên theo 4 hướng nên phải định một phạm vi hướng mà ta xét đến biên ngang Chúng ta định hướng biên theo hướng của một biên chuẩn mà chúng tanhận được từ dữ liệu ảnh bằng cách dùng phương trình:

Bước 2 Nếu giá trị của M(x, y) là nhỏ hơn ít nhất một trong hai cửa sổ dọc

dk, lấy g N ( x, y)=0(triệt) hoặc ngược lại g N (x, y)= M (x, y)

Hình 1.2 Mặt nạ phát hiện cạnh và 8 hướng cạnh

Lưu ý: 1 pixel là 1 ô vuông, nên chỉ có 8 lân cận với nó, nên khi dò biên ta chỉ dò theo 8 hướng: hướng x (hay 00), -x (hay 1800), y (hay 900), -y (-900), +450, -450, +1350, - 1350

Trang 15

Hình 1.3 Phạm vi góc của cạnh chuẩn đối với 4 kiểu hướ ng cạnh trong một cửa sổ 3×3 Mỗi hướng cạnh có 2 phạm vi được trình bày tương ứng các

hình xám

Trong đó gN(x, y) là ảnh triệt điểm không cực đại Cặp mặt nạ lọc được dùng để đạt được gx và gy

1.3.3 Kỹ thuật tách biên Sobel

- Bộ lọc Sobel được sử dụng nhiều trong việc tách biên của một bức ảnh

Bộ lọc này sử dụng 2 mặt nạ theo phương ngang và dọc để tách biên của bức ảnh.Bộ tách biên Sobel sử dụng các mặt nạ trong hình dưới để xấp xỉ đạo hàm

bậc nhất Gx và Gy Nói cách khác, gradient tại điểm tâm trong một lân cận được

tính theo bộ tách Sobel:

- Khi đó, ta nói rằng vị trí (x,y) là pixel biên nếu tại vị trí đó, trong đó là một ngưỡng được chỉ định Mặt lạ của bộ lọc Sobel :

Trang 16

1.3.4 Kỹ thuật tách biên prewitt

Kỹ thuật sử dụng 2 mặt nạ nhập chập xấp xỉ đạo hàm theo 2 hướng x và y là:

Các bước tính toán kỹ thuật Prewitt:

+ b1: tính và

+ b2: tính

1.3.5.Kỹ thuật tách biên Robert

Toán tử Roberts 2 × 2 là một trong những phương pháp đầu tiên được sử dụng để phát hiện các cạnh biên Phương pháp Roberts tính toán đơn giản, tính toán Gradient không gian 2-D trên một hình ảnhvùng tần số không gian cao thường tương ứng với các cạnh biên Bộ tách biên này được dùng ít hơn các bộ

Trang 17

tách khác do chức năng giới hạn của nó (nó không đối xứng và không thể được tổng quát hóa để tách biên là thừa số của 45 độ) Tuy nhiên, nó vẫn được dùng thường xuyên trong hiện thực phần cứng khi tính đơn giản và tốc độ là các yếu tố chi phối

- Về lý thuyết, các phép toán bao gồm một cặp kernel chập 2x2 Một kernel khác chỉ đơn giản là quay một góc 90° Bộ lọc Roberts được thực hiện dùng hai kernel chập, đáp ứng tối đa với cạnh chạy ở 45° vào lưới pixel Các kernel áp dụng riêng cho hình ảnh đầu vào, để tạo các phép đo riêng biệt của các thành phần gradient trong mỗi hướng (gọi những Gx và Gy) Nhưng sau đó có thể được kết hợp với nhau để tìm ra độ lớn tuyệt đối của gradient tại mỗi điểm và định hướng của gradient Độ lớn Gradient được cho bởi:

- Trong trường hợp này, định hướng = 0, nghĩa là hướng của tương phản tối đa từ màu đen sang màu trắng chạy từ trái sang phải vào hình ảnh Các bộ lọc Roberts rất nhanh chóng để tính toán (do kích thước tối thiểu của các kernel nhưng nó rất nhạy với nhiễu Các bộ lọc cạnh biên Prewitt và Sobel khắc phụ những hạn chế của bộ lọc Roberts như chống nhiễu tốt hơn, nhưng sử dụng mặt

nạ chập hơi phức tạp hơn

Trang 18

CHƯƠNG 2:

CÁC HÀM VÀ CÁC LỆNH TRONG MATLAB DÙNG CHO

NHIỆM VỤ TÁCH NGƯỜI RA KHỎI ẢNH 2.1 Hàm imread

+ [X, map] = imread( ): [X, bản đồ] = imread ( ) đọc các hình ảnh được lập chỉ mục trong tên tập tin vào X và bản đồ màu liên quan của nó vào bản đồ Các giá trị colormap trong tệp hình ảnh được tự động quy đổi lại thành khoảng [0,1]

+ [ ] = imread(filename): [ ] = imread (tên tập tin) dùng để suy ra định dạng của tập tin từ nội dung của nó

+ [ ] = imread (URL, .) đọc hình ảnh từ URL Internet URL phải bao gồm loại giao thức (ví dụ: http: //)

+ [ ] = imread ( , Param1, Val1, Param2, Val2 ) xác định các tham số kiểm soát các đặc tính khác nhau của hoạt động cho các định dạng cụ thể Để biết thêm thông tin, xem thông tin cụ thể về định dạng

2.1.3 Ví dụ

+ Đọc hình ảnh mẫu

Imdata = imread ('ngc6543a.jpg');

+ Đọc hình ảnh thứ sáu trong tệp TIFF

[X, bản đồ] = imread ('your_image.tif', 6);

Trang 19

+ Đọc hình ảnh thứ tư trong tệp HDF4

Info = imfinfo ('your_hdf_file.hdf');

[X, bản đồ] = imread ('your_hdf_file.hdf', thông tin (4) Reference);

2.2 Hàm imresize

2.1.1 Cú pháp

B = imresize(A, scale)

B = imresize(A, [mrows ncols])

[Y newmap] = imresize(X, map, scale)

+ B = imresize (A, [mrows ncols]) trả về hình B có số hàng và cột được xác định bởi [mrows ncols] NUMROWS hoặc NUMCOLS có thể là NaN, trong trường hợp này sẽ tính tỷ lệ tự động tính số hàng hoặc cột tự động để duy trì tỷ lệ khung hình

+ [Y newmap] = giả lập (X, bản đồ, quy mô) thay đổi kích thước của chỉ mục hình ảnh X quy mô có thể là một yếu tố số hoặc một vector xác định kích thước của hình ảnh đầu ra (numrows numcols) Mặc định, imresize trả về một, mới được tối ưu hóa colormap (newmap) với hình ảnh thay đổi kích cỡ Để trả lại một bản đồ màu giống như bản đồ màu gốc, sử dụng tham số 'Colormap' (xem bên dưới)

+ [ ] = imresize ( , method) thay đổi kích thước hình ảnh được lập chỉ mục Có thể là (1) một chuỗi văn bản chỉ định một phương pháp nội suy chung, (2) một chuỗi văn bản chỉ định một hạt nội suy, hoặc (3) một mảng ô hai phần tử chỉ định một hạt nhân nội suy

Trang 20

+ newmap = rgb2gray(map) returns a grayscale colormap equivalent to

Trang 22

- Phương pháp Sobel tìm các cạnh bằng cách sử dụng phương pháp xấp xỉ Sobel với dẫn xuất Nó trả về các cạnh tại những điểm mà gradient của I là tối đa

- Phương pháp Prewitt tìm các cạnh sử dụng phép ước lượng Prewitt cho đạo hàm Nó trả về các cạnh tại những điểm mà gradient của I là tối đa

- Phương pháp Roberts tìm thấy các cạnh bằng cách sử dụng xấp xỉ Roberts với dẫn xuất Nó trả về các cạnh tại những điểm mà gradient của I là tối đa

- Phương pháp Laplacian của phương pháp Gaussian tìm các cạnh bằng cách tìm các khoảng không bằng nhau sau khi lọc I với một bộ lọc Laplacian of Gaussian

- Phương pháp zero-cross tìm các cạnh bằng cách tìm các số không qua sau khi lọc I với một bộ lọc mà bạn chỉ định

- Phương pháp Canny tìm thấy các cạnh bằng cách tìm kiếm cực đại địa phương của gradient của I Gradient được tính bằng cách sử dụng các dẫn xuất của một bộ lọc Gaussian Phương pháp này sử dụng hai ngưỡng, để phát hiện các

Trang 23

cạnh mạnh và yếu và bao gồm các cạnh yếu ở đầu ra chỉ khi chúng được nối với các cạnh mạnh Phương pháp này do đó ít có khả năng hơn các phương pháp khác bị tiếng ồn đánh lừa, và nhiều khả năng để phát hiện các cạnh yếu

Các thông số bạn có thể cung cấp khác nhau tùy thuộc vào phương pháp bạn chỉ định Nếu bạn không chỉ định một phương thức, cạnh sử dụng phương pháp Sobel

Trang 24

+ Ma trận gồm các dòng( row) và các cột (colum) Các dòng hay các cột được gọi chung là vector

Ví dụ:

- Một con số trong Matlab là một ma trận 1x1

- Thế mạnh của Matlab so với các ngôn ngữ lập trình khác là tính toán rất nhanh trên ma trận

Matlab cung cấp cho chúng ta 7 hàm để tạo các matrận cơ bản:

1.Zeros (line,column) : cho phép tạo một ma trận toàn số 0

2.Ones (line,column) : cho phép tạo ra ma trận toàn số1

3.Rand (line,column) : cho phép tạo ra một ma trận với các phần tử là sinh ngẫu nhiên và cùng loại

4.Randn (line,column) :tạo một ma trận mà các phần tử của ma trận được sinh ra một cách ngẫu nhiên

5.Eye (line) : khai báo ma trận đơnvị

6.Pascal () :tạo ma trận đối xứng (ma trận vuông)

7.Magic () :tạo ma trận không đối xứng

Note : Bạn có thể nhập trực tiếp các phần tử của ma trận đó theo cú pháp sau (các phần tử của một hàng đượccách nhau bởi dấu (,) hoặc một dấu cách ,giữa các hàng thì được cách nhau bởi dấu (;) hay dấu ngắt)

Trang 25

Ví dụ: Cho hai ma trận A và B như sau:

Thực hiện phép cộng A + B ta được kết quả

+ Phép trừ ma trận

Nếu hai ma trận có cùng chiều, ta có thể trừ ma trận theo từng thành phần như sau:

Trang 26

Ví dụ: Cho hai ma trận A và B như sau:

Thực hiện phép trừ A - B ta được kết quả:

+Phép nhân vô hướng

Matlab cho phép nhân ma trận với một số (gọi là phép nhân vô hướng):

Ví dụ:

Nếu A là ma trận:

Ta thực hiện phép nhân với 3 như sau:

+ Phép nhân ma trận - vector:

Giả sử ta có hệ phương trình 3 ẩn như sau:

Bởi vì mỗi phần tử tương ứng là bằng nhau, nên ta có dạng như sau:

Trang 27

Vế trái có thể được viết như là tổng các vector:

Vế trái có thể được viết như là tổng các vector:

Phép nhân vô hướng có thể được đặt làm thừa số cho các vector vế trái:

Chúng ta có thể nói rằng:

Là một kết hợp tuyến tính của các vector: [2,3,5] T , [3,2,-3] T và [4,4,8] T

Cuối cùng, ta đưa hệ phương trình về dạng Ax = b:

Với:

Ví dụ:

Thực hiện nhân ma trận với vector:

Trang 28

Để thực hiện phép nhân, ta thực hiện phép kết hợp tuyến tính của các cột

ma trận, sử dụng từng phần tử của vector:

Lệnh trong Matlab như sau:

Trang 29

- Có 01 bộ ảnh nội dung chụp người trên nền trắng

- 02 bộ ảnh chụp người với các động tác và tư thế khác nhau ở trong phòng

- 01 bộ ảnh với khung cảnh ngoài trời

Ta tiến hành so sánh hiệu quả phát hiện biên khi áp dụng các toán tử nêu trên khi sử dụng MATLAB Chất lượng phát hiện biên được đánh giá qua các tiêu chí khác nhau như sai số trung bình bình phương (MSE) và tỷ số tín hiệu nhiễu (PSNR)

a) Sai số trung bình bình phương MSE đánh giá mức độ sai khác giữa biên nhận được và biên thực thông qua công thức:

kỹ thuật với nhau

Trang 30

3.2.1 Kết quả thử nghiệm với bộ ảnh người với nền trắng

Bộ ảnh gồm có các ảnh chụp trên nền trắng dưới đây là hình ảnh chạy thử nghiệm một số ảnh:

Hình 3.1: Kết quả thử nghiệm ảnh 1 của bộ ảnh người với nền trắng

- Kỹ thuật canny cho kết quả tốt nhất vì nó phát hiện được các đường biên

và cho ra hình dạng của người một cách rõ ràng chính xác nhất

- Kỹ thuật robert cho ta kết quả phát hiện nhận diện người một cách kém hiệu quả nhất

Ngày đăng: 02/11/2017, 08:37

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[5] Website http://www.matlabthayhai.info/ Link
[1] The MathWorks News & Note. Magazine for MATLAB and Simulink. tháng 1 năm 2006 Khác
[2] Phạm Việt Bình, Đỗ Năng Toàn (2007). Giáo trình xử lý ảnh, nhà xuất bản Đại Học Thái Nguyên Khác
[3] Lương Mạnh bá, Nguyễn Thanh Thủy. Nhập môn xử lý ảnh số, nhà xuất bản Khoa học Kỹ Thuật, Hà Nội Khác
[4] Nguyễn Quang Hoan. Giáo trình xử lý ảnh, Học Viện Bưu chính viễn Thông, Hà Nội (2006) Khác

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w