1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tách cảnh nền thời gian thực dùng fpga

125 30 0

Đ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 125
Dung lượng 4,03 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đề tài “Tách Cảnh Nền Thời Gian Thực Dùng FPGA” được thực hiện nhằm thiết kế một hệ thống hoàn chỉnh thực hiện chức năng tách cảnh nền dựa trên phương pháp mô hình Gaussian đơn kết hợp

Trang 1

ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC BÁCH KHOA

-

TRƯƠNG VĂN CƯƠNG

TÁCH CẢNH NỀN THỜI GIAN THỰC DÙNG FPGA

Chuyên ngành : Kỹ Thuật Điện Tử

Mã số : 60520203

LUẬN VĂN THẠC SĨ

TP HỒ CHÍ MINH, tháng 01 năm 2016

Trang 2

Cán bộ hướng dẫn khoa học :

(Ghi rõ họ, tên, học hàm, học vị và chữ ký) Cán bộ chấm nhận xét 1 :

(Ghi rõ họ, tên, học hàm, học vị và chữ ký) Cán bộ chấm nhận xét 2 :

(Ghi rõ họ, tên, học hàm, học vị và chữ ký) Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp HCM ngày tháng năm

Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: (Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ) 1

2

3

4

5

Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có)

Trang 3

TRƯỜNG ĐẠI HỌC BÁCH KHOA

-

Độc lập - Tự do - Hạnh phúc NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: TRƯƠNG VĂN CƯƠNG MSHV: 13140462 Ngày, tháng, năm sinh: 03/03/1989 Nơi sinh: Hà Nam Chuyên ngành: Kỹ Thuật Điện Tử Mã số: 60520203 I TÊN ĐỀ TÀI: TÁCH CẢNH NỀN THỜI GIAN THỰC DÙNG FPGA II NHIỆM VỤ VÀ NỘI DUNG:

III NGÀY GIAO NHIỆM VỤ:

IV NGÀY HOÀN THÀNH NHIỆM VỤ:

V CÁN BỘ HƯỚNG DẪN:

CÁN BỘ HƯỚNG DẪN

(Họ tên và chữ ký)

Tp HCM, ngày tháng năm 2015 CHỦ NHIỆM BỘ MÔN ĐÀO TẠO

(Họ tên và chữ ký)

TRƯỞNG KHOA ĐIỆN ĐIỆN TỬ

(Họ tên và chữ ký)

Trang 4

Tôi xin chân thành cám ơn quý thầy cô trường Đại Học Bách Khoa TP Hồ Chí Minh, những người đã truyền đạt cho tôi những kiến thức và kinh nghiệm quý báu trong suốt khóa học cao học tại trường

Tôi xin chân thành cảm ơn phòng Đào Tạo Sau Đại Học, trường Đại học Bách Khoa đã

hỗ trợ kinh phí thực hiện đề tài nghiên cứu để tôi có thể hoàn thành đề tài nghiên cứu

Tôi xin được gửi lời cám ơn sâu sắc đến thầy – TS.Trương Quang Vinh Thầy đã hướng đầy tận tình, tạo cho tôi cách tư duy và làm việc khoa học, và hướng cho tôi đến các đề tài khoa học mới mẽ

Tôi xin gửi lời cảm ơn đến gia đình, bạn bè đã luôn động viên và ủng hộ, giúp tôi có thêm động lực để hoàn thành đề tài

TP Hồ Chí Minh, ngày 01 tháng 01 năm 2016

Học viên

Trương Văn Cương

Trang 5

TÓM TẮT

Phương pháp tách cảnh nền là một kỹ thuật quan trọng trong lĩnh vực xử lý ảnh và thị giác máy tính Phương pháp này được ứng dụng rộng rãi trong nhiều ứng dụng như: phát hiện đối tượng chuyển động, trong lĩnh vực giám sát hình ảnh Trong những năm gần đây, với sự phát triển mạnh về công nghệ, chất lượng video ngày càng được nâng cao về độ phân giải cũng như

độ sắc nét, do đó việc yêu cầu về xử lý video tốc độ cao đáp ứng thời gian thực là rất cần thiết

Đề tài “Tách Cảnh Nền Thời Gian Thực Dùng FPGA” được thực hiện nhằm thiết kế một hệ

thống hoàn chỉnh thực hiện chức năng tách cảnh nền dựa trên phương pháp mô hình Gaussian đơn kết hợp với giải thuật phân vùng ảnh GrowCut Hệ thống được thiết kế trên cấu trúc phần cứng FPGA, và được thiết kế theo cấu trúc đường ống để có thể đáp ứng xử lý thời gian thực trên khung hình video có độ phân giải cao Để hiện thực hệ thống, đề tài thiết kế và đóng một

IP sử dụng chuẩn giao tiếp Avalon ST video và giao tiếp Avalon MM của hãng Altera Thiết

kế đã được thử nghiệm trên kit Bitec Cyclone III, và đáp ứng được xử lý video thời gian thực ở độ phân dải 1080P

Trang 6

Background subtraction, also known as Foreground Detection, is a technique in the fields

of image processing and computer vision wherein an image's foreground is extracted for further processing (object recognition etc.) Generally an image's regions of interest are objects (humans, cars, text etc.) in its foreground After the stage of image preprocessing (which may include image denoising, post processing like morphology etc.) object localisation is required which may make use of this technique Background subtraction is a widely used approach for detecting moving objects in videos from static cameras In recent years, with strong growth in technology, quality is increasingly high video resolution and sharpness, so the requirements for high-speed video processing real-time response is very necessary The thesis

“Implementation real-time background subtraction using FPGA” is choosen in order to design a full system which implement background subtraction based Single Gaussian and Modified GrowCut In order to impement the system, an IP is designed and packed using Avalon ST and Avalon MM standard The hardware architecture of the proposed method is designed by pipeline structure which is verified on Altera FPGA Cyclone III to perform real-time object segmentation on HD videos

Trang 7

LỜI CAM ĐOAN

Tôi cam đoan các kết quả đề tài thực hiện chưa từng công bố trong bất kỳ công trình khoa học trước đây

Người cam đoan

Trương Văn Cương

Trang 8

TÓM TẮT ii

ABSTRACT iii

MỤC LỤC v

DANH MỤC BẢNG viii

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT ix

DANH MỤC CÁC HÌNH VẼ x

CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN 1

1.1 Giới thiệu về giải thuật tách cảnh nền 1

1.2 Các công trình nghiên cứu liên quan 3

1.2.1 Một số phương pháp mô hình nền 3

1.2.2 Phân vùng ảnh dựa trên phương pháp GrowCut 10

1.3 Phương pháp tiếp cận 16

1.3.1 Hệ thống đề nghị 17

1.4 Mục tiêu, nội dung luận văn 18

1.4.1 Mục tiêu 18

1.4.2 Nội dung 18

CHƯƠNG 2: THIẾT KẾ CẤU TRÚC PHẦN CỨNG CHO GIẢI THUẬT TÁCH CẢNH NỀN DỰA TRÊN PHƯƠNG PHÁP SINGLE GAUSSIAN VÀ GIẢI THUẬT GROWCUT 19 2.1 Giải thuật tách cảnh nền dựa trên phương pháp Single Gaussin 19

2.1.1 Mô hình nền 20

2.1.2 Trừ nền dựa trên phương pháp Growcut 21

2.1.3 Cập nhật mô hình nền 22

2.2 Mô tả tổng quan thiết kế trên cấu trúc phần cứng 23

2.2.1 Yêu cầu chi tiết thiết kế 23

Trang 9

2.2.2 Giới thiệu một số chuẩn bus của hãng altera 24

2.3 Mô tả chi tiết thiết kế 33

2.3.1 Khối Sink Control 37

2.3.2 Khối Source Control 40

2.3.3 Khối AMM control master 41

2.3.4 Khối data controller 44

CHƯƠNG 3: MÔ PHỎNG KIỂM TRA THIẾT KẾ 57

3.1 Mô hình kiểm tra thiết kế 57

3.2 Phương pháp mô phỏng 59

3.3 Kết quả mô phỏng IP 60

3.3.1 Dạng sóng khối sink control 61

3.3.2 Dạng sóng khối source control 63

3.3.3 Dạng sóng khối data controller 65

3.4 So sánh kết quả mô phỏng phần cứng với phần mềm 71

CHƯƠNG 4: HIỆN THỰC HỆ THỐNG TRÊN KIT FPGA 74

4.1 Giới thiệu hệ thống 74

4.2 Tổng hợp và đóng gói IP trong SOPC 78

4.3 Xây dựng hệ thống SOPC 83

4.4 Tổng hợp hệ thống 91

4.4.1 Phân tích tín hiệu clock 95

4.5 Kết quả hiện thực hệ thống trên kit FPGA Cyclone III 96

4.6 Phân tích, nhận xét, đánh giá kết quả 100

4.6.1 Phân tích tốc độ dữ liệu, khả năng xử lý thời gian thực 100

4.6.2 Đánh giá về chất lượng xử lý tách cảnh nền 102

4.6.3 Nhận xét, đánh giá kết quả 103

CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 104

Trang 10

5.2 Hướng phát triển 104

TÀI LIỆU THAM KHẢO 105 PHỤ LỤC 107

Trang 11

DANH MỤC BẢNG

Bảng 1: Bảng mô tả thông số thiết kế IP 23

Bảng 2 Các kiểu packet và giá trị của 4-bit định dạng tương ứng 29

Bảng 3 Ý nghĩa của 4 bits interlaced/progressive 31

Bảng 4: Thứ tự và nội dung của nibbles trong control data packet 32

Bảng 5 Các thông số của Video Avalon khi truyền dữ liệu 33

Bảng 6 Các tín hiệu dùng trong Video Avalon 33

Bảng 7: Bảng mô tả chi tiết tín hiệu vào ra của IP tách cảnh nền 36

Bảng 8: Bảng cài đặt tham số cho IP tách cảnh nền 37

Bảng 9: Bảng mô tả chức năng tín hiệu khối Sink Control 38

Bảng 10: Bảng mô tả chức năng tín hiệu của khối Source Control 41

Bảng 11: Chi tiết chức năng các tín hiệu điều khiển 43

Bảng 12: Mô tả chức năng tín hiệu đọc dữ liệu từ FIFO của bộ read_master 44

Bảng 13: Mô tả chức năng các tín hiệu giao tiếp để ghi dữ liệu vào bộ FIFO của bộ write_master 44

Bảng 14: Chi tiết chức năng các tín hiệu vào ra của module data controller 46

Bảng 15: Bảng tín hiệu vào ra của bộ data writer 47

Bảng 16: Bảng các tham số cài đặt cho bộ data writer 48

Bảng 17: Bảng mô tả chức năng tín hiệu vào ra của bộ data reader 49

Bảng 18: Bảng các tham số cài đặt cho bộ data reader 49

Bảng 19: Mô tả chức năng tín hiệu khối core 50

Bảng 20: Bảng tần số sử dụng của hệ thống 95

Bảng 21: Bảng tính toán tốc độ dữ liệu của các kênh ngõ vào ra 101

Bảng 22: Bảng so sánh chất lượng giải thuật đề nghị với một số giải thuật khác 102

Trang 12

FPGA Field-Programmable Gate Array

Trang 13

DANH MỤC CÁC HÌNH VẼ

Hình 1-1: Sơ đồ khối hệ thống theo dõi đối tượng trong hệ thống giám sát phương tiện giao thông Dựa vào thuật toán tách cảnh nền, các phương tiện giao thông được tách khỏi nền và

sử dụng thuật toán tracking để theo dõi phương tiện 1

Hình 1-2: Mô tả ứng dụng thiết bị key, (a) Diễn viên quay trước một màn hình xanh dương, (b): Diễn viên được tách khỏi cảnh nền và ghép vào ảnh mới 2

Hình 1-3: Sơ đồ khối của quá trình tách cảnh nền 3

Hình 1-4: Minh họa các lân cận Von Neuman q (màu xanh) của điểm ảnh p (màu đỏ) 12

Hình 1-5:Minh họa các lân cận Moore q (màu xanh) của điểm ảnh p (màu đỏ) 12

Hình 1-6: Người dùng định nghĩa seed pixel Màu đỏ(object), màu xanh (Bg) 13

Hình 1-7: Nhãn được xác định dựa trên định nghĩa của người dùng Màu trắng là nhãn Object, màu đen là nhãn Bg, màu xám là nhãn vùng unknown cần được xử lý 14

Hình 1-8: Minh họa quá trình tiến hóa của giải thuật: (a) bước 1, (b) bước 10, (c) bước 25, (d) bước 40, e bước 65 15

Hình 1-9: Sơ đồ khối giải thuật đề xuất bởi Elyor, K Gueesang Lee [12] 16

Hình 1-10: Quá trình phân vùng được đề xuất bởi [12] 16

Hình 1-11: Mô tả hệ thống background subtraction đề nghị trong đề tài 17

Hình 1-12: Sơ đồ khối hệ thống thực hiện giải thuật 18

Hình 2-1: Sơ đồ giải thuật tách cảnh nền đề nghị 20

Hình 2-2: Sơ đồ khối tổng quát thiết kế IP tách cảnh nền 24

Hình 2-3 Phương thức truyền dữ liệu trực tiếp của Video Avalon 26

Hình 2-4 Phương thức truyền dữ liệu trực tiếp của Video Avalon có backpressure 26

Hình 2-5 Phương thức truyền dữ liệu theo packet của Avalon Video 28

Hình 2-6 Vị trí của 4-bit định dạng kiểu trong một packet 29

Hình 2-7 Cấu trúc của video data packet truyền song song 30

Hình 2-8 Cấu trúc của video data packet truyền nối tiếp 31

Trang 14

Hình 2-10 Cấu trúc của control data packet truyền song song 32

Hình 2-11: Sơ đồ khối tổng quát luồng dữ liệu của IP tách cảnh nền 34

Hình 2-12: Sơ đồ khối chi tiết cấu trúc IP tách cảnh nền 35

Hình 2-13: Sơ đồ khối Sink Control 38

Hình 2-14: Sơ đồ chi tiết khối Sink Control 38

Hình 2-15: Giản đồ xung trạng thái ngõ vào bộ sink control 40

Hình 2-16: Giản đồ xung ghi dữ liệu vào FIFO sink, (1) thời điểm ghi dữ liệu vào fifo, (2) thời điểm đọc dữ liệu từ fifo 40

Hình 2-17: Sơ đồ khối Source control 40

Hình 2-18: Sơ đồ khối chi tiết khối Source Control 41

Hình 2-19:Sơ đồ khối bộ đọc 42

Hình 2-20: Sơ đồ khối bộ ghi 42

Hình 2-21: Sơ đồ khối thiết kế khối data controller 45

Hình 2-22: sơ đồ tín hiệu khối data writer 47

Hình 2-23: Sơ đồ tín hiệu khối data reader 48

Hình 2-24: Sơ đồ khối tổng quát bộ core 50

Hình 2-25: Mô tả chi tiết các khối xử lý bên trong khối core 51

Hình 2-26: Sơ đồ chi tiết khối Update 52

Hình 2-27: Cấu trúc phần cứng thực hiện cập nhật giá trị trung bình 53

Hình 2-28: Cấu trúc phần cứng thực hiện cập nhật giá trị phương sai 54

Hình 2-29: Sơ đồ cấu trúc phần cứng thực hiện giải thuật Growcut 54

Hình 2-30: Cấu trúc phần cứng thực hiện bước cập nhật tham số 55

Hình 2-31: Chi tiết cấu trúc phần cứng xử lý cập nhật theo code1 56

Hình 3-1 Sơ đồ khối tổng quát của gói VIP 57

Trang 15

Hình 3-2: Dữ liệu video ngõ vào dưới dạng txt file 60

Hình 3-3: Giao diện chương trình mô phỏng IP trên phần mềm Modelsim 60

Hình 3-4: Dữ liệu video ngõ ra dưới dạng text file 61

Hình 3-5: Dạng sóng khối sink control 62

Hình 3-6: Thời điểm nhận gói packet control 62

Hình 3-7: Yêu cầu đọc dữ liệu từ khối data controller 63

Hình 3-8: Dữ liệu trong FIFO bị trống, tín hiệu rdreq_sink sẽ xuống mức 1 63

Hình 3-9: Dạng sóng khối source control 64

Hình 3-10: Ghi dữ liệu vào bộ FIFO_src 64

Hình 3-11: Dạng sóng truyền packet control 65

Hình 3-12: Dạng sóng khi bộ FIFO bị tràn 65

Hình 3-13: Dạng sóng khối data writerr 66

Hình 3-14: Ghi dữ liệu vào bộ FIFO_write 66

Hình 3-15: Chốt tín hiệu control_write_go 66

Hình 3-16: Ghi dữ liệu mỗi burts 128 bit xuống bộ FIFO 67

Hình 3-17: Dạng sóng khối data reader 67

Hình 3-18: Chốt tín hiệu control_read_go 67

Hình 3-19: Dọc dữ liệu mỗi 128 bit từ bộ nhớ 68

Hình 3-20: Đọc dữ liệu từ FIFO_read 68

Hình 3-21: Dạng sóng mô phỏng khối Update 68

Hình 3-22: Số chu kỳ xung clock xử lý, 6clock 69

Hình 3-23: Dạng sóng khối sub 69

Hình 3-24: Khối tính toán ngưỡng 69

Hình 3-25:Khối ngưỡng 70

Hình 3-26: Khối update mean 70

Hình 3-27: Khối update mean zoom 70

Trang 16

Hình 3-29: Tính toán các giá trị khối update var 71

Hình 3-30: Hình ảnh frame đầu vào để mô phỏng 72

Hình 3-31: Kết quả mô phỏng trên Matlab 72

Hình 3-32:Kết quả mô phỏng phần cứng 73

Hình 4-1: Sơ đồ tổng quan hệ thống tách cảnh nền 74

Hình 4-2: Video Processing Development Kit 75

Hình 4-3: Sơ đồ khối các thành phần của kit FPGA 76

Hình 4-4: Kit DVI sử dụng để giao tiếp vào, ra kênh video 77

Hình 4-5: Camera HDR-CX380 của hãng sony 77

Hình 4-6: Chèn các file thiết kế để đóng gói IP 78

Hình 4-7: Gán chức năng tín hiệu vào, ra của IP 79

Hình 4-8: Cài đặt chức năng tín hiệu clock ngõ vào 79

Hình 4-9: Cài đặt chức năng ngõ vào của bus Avalon ST sink 80

Hình 4-10: Cài đặt chức năng ngõ vào bus Avalon ST source 81

Hình 4-11: Cài đặt chức năng bus Avalon MM master read, sơ đồ tín hiệu 81

Hình 4-12: Cài đặt chức năng ngõ vào bus Avalon MM read, dạng song tín hiệu 82

Hình 4-13: Cài đặt chức năng ngõ vào bus Avalon MM write 82

Hình 4-14: Cài đặt các tham số mặc định cho IP 83

Hình 4-15: Sơ đồ kết nối các IP trong hệ thống SOPC 84

Hình 4-16: Cấu hình tham số IP Clock Video Input 84

Hình 4-17: Cấu hình tham số IP Scaler 85

Hình 4-18: Cấu hình tham số IP CSC 85

Hình 4-19: Cấu hình tham số IP background subtraction 86

Hình 4-20: Cấu hình tham số bộ DDR Control 87

Trang 17

Hình 4-21: Cấu hình khối buffer ngõ vào 87

Hình 4-22: Cấu hình khối buffer ngõ ra 88

Hình 4-23: Cấu hình khối Up Scaler 88

Hình 4-24: Cấu hình tham số IP Clock Video Output 89

Hình 4-25: Nhấn nút Generate để tạo ra System 89

Hình 4-26: Các IP sử dụng trong SOPC 90

Hình 4-27: Ghép System sai khi đã Generate vào trong hệ thống thiết kế 90

Hình 4-28: Cấu hình tần số ngõ vào 125Mhz cho bộ PLL 91

Hình 4-29: Cấu hình tần số ngõ ra 148.5Mhz của bộ PLL 91

Hình 4-30:Kết nối vào ra của bộ PLL 92

Hình 4-31: Kết nối System với các tín hiệu của DDR bot 92

Hình 4-32: Kết nối ngõ ra video của System kết nối vào kit DVI 92

Hình 4-33: Kết nối system với các tín hiệu DDR TOP 93

Hình 4-34: Kết nối các tín hiệu ngõ vào video của kit DVI với System 93

Hình 4-35: Kết quả tổng hợp hệ thống 94

Hình 4-36: Netlist RTL view trong quartus của IP thiết kế 94

Hình 4-37: Netlist RTL view trong quartus 95

Hình 4-38: Hệ thống hiện thực giải thuật trên kit FPGA 97

Hình 4-39: Hình nền được lưu vào mô hình 97

Hình 4-40: Kết quả phát hiện đối tượng 98

Hình 4-41: Kết quả trừ nền một số khung hình liên tiếp 98

Hình 4-42: Hình nền chụp từ camera 99

Hình 4-43: Hình ảnh mô hình nền được khởi tạo tại thời điểm ban đầu 99

Hình 4-44: Một số khung ảnh xử lý 100

Hình 4-45: Kết quả xử lý với mô hình nền Hình 4-43 100

Hình 4-46: Thông tin video ngõ ra của cổng DVI 102

Trang 19

HVTH: Trương Văn Cương 1

CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN

1.1 Giới thiệu về giải thuật tách cảnh nền

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 (foreground detection) là một kỹ thuật trong lĩnh vực xử lý ảnh và thị giác máy tính Tách cảnh nền là một quá trình tách đối tượng từ một mô hình nền, đối tượng được phát hiện bằng cách tính sự khác biệt giữa khung hình hiện tại với mô hình nền [1] Ngày nay, tách cảnh nền là một khái niệm được ứng dụng rộng rãi để phát hiện đối tượng chuyển động trong các video được quay từ các camera tĩnh, và một số được mở rộng đối với các video được quay từ các camera di chuyển Trong thập kỷ qua, một số thuật toán được phát triển cho giải thuật tách cảnh nền, và được

sử dụng cho nhiều ứng dụng quan trọng khác nhau như các hệ thống giám sát hình ảnh (visual surveillance), phân tích video thể thao, chụp ảnh chuyển động, vv

Hình 1-1: Sơ đồ khối hệ thống theo dõi đối tượng trong hệ thống giám sát phương tiện giao thông Dựa vào thuật toán tách cảnh nền, các phương tiện giao thông được tách khỏi nền và sử

dụng thuật toán tracking để theo dõi phương tiện

Trong ứng dụng về hệ thống giám sát hình ảnh, tách cảnh nền trong một khung hình đóng một vai trò quan trọng để phân vùng và nhận dạng đối tượng để giám sát Hình 1-1 mô tả hệ thống thống phát hiện và theo dõi (tracking) phương tiện giao thông di chuyển trong lĩnh vực giám sát

Trang 20

HVTH: Trương Văn Cương 2

(foreground) là các phương tiện tham gia giao thông sẽ được được tách ra khỏi khung hình để đưa vào khâu xử lý, nhận dạng vv

Trong lĩnh vực truyền hình, tách cảnh nền được ứng dụng rộng rãi trong ứng dụng phim trường

ảo Phim trường ảo giúp cho các nhà sản xuất rất nhiều thuận lợi như không tốn thời gian chi phí dựng cảnh thật, diện tích phim trường không cần phải lớn, tạo cho người xem một cảm giác mới

lạ, sống động Người làm chương trình có thể đổi cách thể hiện nhanh chóng mà không cần phụ thuộc vào những yếu tố khách quan bên ngoài như thời gian, môi trường Ở đây người diễn viên không cần đứng trong một khung cảnh thật mà đứng trong một phim trường được sơn toàn bộ bằng một màu xanh thuần túy (xanh dương hoặc xanh lá cây) Lúc này diễn viên sẽ không cần đứng trong một khung cảnh thật mà đước trước một màn hình xanh thuần túy Cảnh nền lúc này chính

là màn hình xanh Sau đó, diễn viên sẽ được tách ra khỏi cảnh nền để trộn với hình ảnh đồ họa trên máy tính, để người xem sẽ thấy trên màn hình là người diễn viên đang diễn xuất trên nền hình ảnh

đồ họa được tạo từ máy tính chứ không phải là nền xanh nữa[Hình 1-2].Thiết bị thực hiện chức năng này được gọi là thiết bị KEY

Hình 1-2: Mô tả ứng dụng thiết bị key, (a) Diễn viên quay trước một màn hình xanh dương,

(b): Diễn viên được tách khỏi cảnh nền và ghép vào ảnh mới

Các bước mô tả quá trình tách cảnh nền được mô tả ở Hình 1-3 Giải thuật tách cảnh nền tổng quát thường được chia làm bốn bước :

Background Subtraction: Là bước trừ khung hình hiện tại với mô hình nền để được đối

tượng thuộc tiền cảnh

Background modeling: là bước mô tả kiểu của mô hình được sử dụng để biểu diễn cảnh nền Background Update Process: l là bước cập nhật cảnh nền để điều chỉnh mô hình do sự biến

đổi của môi trường theo thời gian

Trang 21

HVTH: Trương Văn Cương 3

Foreground detection: Sau khi có mô hình cảnh nền, tiền cảnh sẽ được phát hiện bằng cách

so sánh sự khác biệt giữa khung hình hiện tại và mô hình nền Đây là bước phân loại các điểm ảnh thuộc tiền cảnh hay cảnh nền, từ đó đối tượng sẽ được tách ra khỏi khung hình

Hình 1-3: Sơ đồ khối của quá trình tách cảnh nền

Những vấn đề khó khăn khi thực hiện giải thuật tách cảnh nền là ảnh hưởng về độ sáng của môi trường thay đổi, nhiễu do camera, chi phí tính toán, và dung lượng bộ nhớ yêu cầu xử lý Ngoài ra, đối tượng được tách ra khỏi cảnh nền thường cho kết quả không tốt, cần một phương pháp để có để giải quyết vấn đề này Phần giới thiệu về một số công trình liên quan sẽ phân tích khuyết điểm của từng phương pháp và cách giải quyết các khó khăn trên Dựa trên cơ sở nghiên cứu các công trình liên quan, Học viên đưa ra phương pháp tiếp cận để đề xuất một giải thuật tách nền và hiện thực giải thuật trên cấu trúc phần cứng FPGA

1.2 Các công trình nghiên cứu liên quan

1.2.1 Một số phương pháp mô hình nền

Có nhiều phương pháp mô hình nền được sử dụng cho giải thuật tách cảnh nền tùy thuộc vào từng ứng dụng khác nhau mà mỗi phương pháp đều có ưu điểm và giới hạn riêng Một số phương pháp được ứng dụng tốt đối với nền tĩnh, một số phương pháp thì được áp dụng tốt cho nền động Phương pháp đơn giản nhất là chụp một bức ảnh nền không bao gồm bất kỳ một đối tượng nào sử

Trang 22

HVTH: Trương Văn Cương 4

luôn luôn thay đổi dưới nhiều điều kiện khác nhau như: độ sáng thay đổi, đối tượng xuất hiện và loại bỏ khỏi khung hình với tốc độ khác nhau Một số phương pháp mô hình nền được tìm hiểu trong đề tài:

- Mô hình nền cơ bản (Basic Background Modeling)

- Mô hình nền thống kê (Statistical Background Modeling)

- Mô hình nền dựa trên phương pháp phân cụm (Clustering Background Modeling)

1.2.1.1 Mô hình nền cơ bản

Các phương pháp mô hình nền cơ bản có thể được liệt kê: phương pháp Frame differencing, phương pháp trung bình (Average - Running Average), trung vị (Median - Approximated Median), histogram (Histogram over time), Frame differencing

Ưu điểm của các phương pháp này:

 Giá trị ngưỡng được sử dụng cho tất cả các điểm ảnh

Do đo phương pháp này sẽ cho kết quả không tốt trong một số điều kiện:

- Nếu nền là hai mô hình

- Cảnh nền bao gồm nhiều đố itương di chuyển chậm

- Điều kiện độ sáng thay đổi theo thời gian

Trong phương pháp Frame differencing, đối tượng có thể được tách ra bằng cách trừ khung ảnh hiện tại với khung ảnh trước đó hoặc với khung ảnh trung bình của một số khung Phương pháp này chỉ làm việc tốt ở một số điều kiện của chuyển động đối tượng và khung hình cụ thể, và rất nhạy với ngưỡng Các điểm ảnh thuộc đối tượng nếu thỏa mãn phương trình (1):

|𝐼𝑖(𝑥, 𝑦) − 𝐼𝑖−1(𝑥, 𝑦)| > 𝑇 (1)

Trong đó:

𝐼𝑖(𝑥, 𝑦): là giá trị điểm ảnh của khung hình hiện tại ở vị trí (x,y), 𝐼𝑖−1(𝑥, 𝑦) là giá trị điểm ảnh của khung hình trước đó tại vị trí (x,y), và T là giá trị nguõng

Trang 23

HVTH: Trương Văn Cương 5

Trong phương pháp trung bình [2], trung vị [3] thì sử dụng trung bình hoặc trung vị của N khung hình trước đó như là mô hình nền, Bg Tuy nhiên phương pháp này yêu cầu rất tốn bộ nhớ Giá trị Bg có thể được tính bởi công thức (2)

ta có thể tách được cảnh nền ra khỏi ảnh cần xử lý

1.2.1.2 Phương pháp thống kê

Cách đầu tiên để biểu diễn một cách thống kê mô hình nền là giả sử rằng lịch sử giá trị cường

độ của điểm ảnh theo thời gian có thể được mô hình bởi một Gaussian đơn (single Gaussiaan) [5] Tuy nhiên, mô hình đơn này không thể xử lý được những cảnh nền động (dynamic backgrounds) khi có sự thay đổi của cây cối, gợn sóng nước Để giải quyết vấn đề này, mô hình hỗ hợp Gaussian (Mixture of Gaussian - MoG) được sử dụng để mô hình một cảnh nền động [6] Mô hình này có một vài nhược điểm, cảnh nền có các biến thay đổi nhanh không thể mô hình chính xác với số Gaussian từ 3 đến 5 Vì vậy, kỹ thuật Non-parametric được phát triển để đánh giá xác xuất tại mỗi điểm ảnh từ nhiều mẫu hiện tại theo thời gian sử dụng KDE (Kernel density estimation), nhưng phương pháp này tốn thời gian Một số phương pháp sẽ được mô tả chi tiết ở phần dưới đây:

Trang 24

HVTH: Trương Văn Cương 6

Tác giả Wren và cộng sự đề xuất phương pháp để mô hình cảnh nền tại mỗi vị trí điểm ảnh (i,j) [5] Mô hình này dựa trên ý tưởng xây dựng một hàm mật độ Gaussian (probability density function - pdf) trên giá trị của n điểm ảnh cuối cùng Để có thể cập nhật mô hình này theo thời gian tại mỗi khung hình tiếp theo, giá trị trung bình và phương sai được cập nhật Các điểm ảnh sẽ được phân loại là thuộc cảnh nền hay đối tượng dựa theo công thức (4):

Đ𝑖ể𝑚 ả𝑛ℎ 𝑡ℎ𝑢ộ𝑐 {𝐵𝑎𝑐𝑘𝑔𝑟𝑜𝑢𝑛𝑑 𝑛ế𝑢| 𝜇𝑡+1− 𝑋𝑡+1| < 𝑘𝜎𝑡+1

Trong đó:

µt+1: Giá trị trung bình của điểm ảnh tại khung hình t+1

Xt+1: Giá trị của điểm ảnh tại khung hình t+1

𝜎𝑡+1: Phương sai tại khung hình t+1

Cập nhật mô hình nền:

Các giá trị trung bình và phương sai của mô hình nền được cập nhật theo phương trình (5), ( 6) Giá trị trung bình của mô hình nền:

Giá trị phương sai của mô hình nền:

Thay vì sử dụng không gian màu RGB của tác giả Wren, tác giả Medioni và các cộng sự đề xuất xử lý trên không gian màu HSV [7] Mô hình màu HSV ổn định hơn mô hình màu RGB khi

có sự thay đổi về cường độ ánh sáng bởi vì nó tách riêng thông tin cường độ sáng (V-value) với thông tin màu sắc (H-Hue, Satuation-S) Zhao và các cộng sự [8] cũng sử dụng không gian màu HSV nhưng nhận thấy rằng sự phân bố của H và S khác nhau một cách tự nhiên, trong khi đó phân

bố của V là ổn định nhất Vì vậy các thành phần của H và S chỉ được sử dụng khi chúng ổn định Kết quả cho thấy rằng, phương pháp sử dụng không gian màu HSV sẽ cho kết quả tốt hơn khi có

sự thay đổi về ánh sáng (illumination Changes) và những nơi ánh sáng kém (shadows)

Phương pháp SG phù hợp với môi trường trong nhà, và những nơi có điều kiện ánh sáng ít thay đổi

( 6)

𝛿𝑡+12 = (1 − 𝛼)𝛿𝑡2+ 𝛼 (𝑋𝑡+1− 𝜇𝑡+1)2

Trang 25

HVTH: Trương Văn Cương 7

từ việc huấn luyện dữ liệu sử dụng thuật toán lặp cực đại hóa kỳ vọng (Expectation Maximization – EM) hoặc tối đa hậu nghiệm (Maximum A Posteriori – MAP)

Một mô hình GMM là tổng thành phần của k thành phần mật độ Gaussian được cho bởi công thức (7):

Trong đó: 𝜇𝑖, 𝜎𝑖2 là trung bình và độ lệch chuẩn của lớp thứ i

Thực hiện mô hình GMM ở hai bước:

 Xây dựng và cập nhật mô hình

Một mô hình hỗn hợp K phân phối Gaussian được sử dụng để mô hình chuỗi thời gian của các giá trị quan sát tại một điểm ảnh cụ thể (X1…, Xt) Xác suất xuất hiện của các giá trị điểm ảnh hiện tại được cho bởi công thức (9):

Trang 26

HVTH: Trương Văn Cương 8

𝜔𝑖,𝑡 : Trọng số đánh giá của Gaussian thứ i trong mô hình hỗn hợp tại thời điểm t

𝜇𝑖,𝑡 : Trung bình của Gaussian thứ i trong mô hình hỗn hợp tại thời điểm t

∑i,t: Ma trận hiệp phương sai của Gaussian thứ i trong mô hình hỗ hợp tại thời điểm t η: Hàm mật độ phân phối Gaussian, được cho bởi công thức (10):

𝜂(𝑋𝑡, 𝜇, Σ) = 1

(2𝜋)𝑛2 |Σ|

1 2

Nếu không có phân phối nào Match với giá trị điểm ảnh hiện tại, phân phối có khả năng xảy

ra ít nhất được thay thế với một phân phối với giá trị hiện tại bằng với giá trị trung bình của nó, một khởi tạo một phương sai cao và hệ số tiên nghiệm thấp (low prior weight)

Hệ số tiên nghiệm của phân phối K tại thời điểm t được điều chỉnh bởi phương trình (12)

Trong đó, α là bình phương tốc độ học (learning rate), Mk,t = 1 trong trường hợp mô hình matched, bằng 0 trong trường hợp còn lại Sau bước xấp xỉ này, các trọng số sẽ được chuẩn hóa lại

Trang 27

HVTH: Trương Văn Cương 9

Các tham số µ và σ không đổi trong trường hợp Unmatched Trong trường hợp Match, các tham số của phân phối được cập nhật theo phương trình (13) và (14)

độ lệch chuẩn thấp và nó Match trong nhiều khoảng thời gian Khi các Gaussian được sắp xếp theo thứ tự xếp hạng giảm dần của hệ số chuẩn hóa w/ σ, giá trị trị đầu tiên sẽ giống cảnh nền nhất và được tính bởi công thức (16)

1.2.1.3 Thuật toán phân cụm K-means

Thuật toán K-means được sử dụng lần đầu tiên năm 1967 bởi James MacQueen, dựa trên ý tưởng của Hugo Steinhaus năm 1957 Đây là phương pháp của vector quantization, phổ biến cho

kỹ thuật phân tích cụm trong cực tiểu hóa dữ liệu Phân cụm K-means nhằm mục đích chia tập dữ liệu gồm n quan sát vào k cụm khác nhau, trong đó mỗi quan sát thuộc về cụm với trung bình gần nhất Giải thuật K-means được mô tả như sau:

Trang 28

HVTH: Trương Văn Cương 10

means sẽ chia n quan sát trên vào tập s, k cụm ( k <= n) S= {S1,S2,…,Sk} theo công thức (17)

argmin

𝑠

∑ ∑ ||𝑥𝑗− 𝜇𝑗||2

𝑥𝑗∈𝑆𝑖𝑖=1

(17)

Trong đó: 𝜇𝑗 là giá trị trung bình của mỗi cụm

Ta có thể hiểu từ “K” nghĩa là chia dữ liệu thành K phần (vùng-cụm) “Mean” được hiểu tính giá trị trung bình của cụm Thuật toán chuẩn (standard algorithm) K-means sử dụng kỹ thuật vòng lặp đi lặp lại cho đến khi hội tụ xảy ra Do tính phổ biến của phương pháp này, thuật toán này

thường được gọi là thuật toán K-means (K-means algorithm) hoặc gọi là thuật toán LIoyd’s [9]

Giải thuật K-Mean ứng dụng trong kỹ thuật phân vùng ảnh được thực hiện như sau:

Chia bức ảnh thành k cụm ngẫu nhiên, m1(1), m2(1),m3(1).mk(1)là giá trị trung bình các cụm khởi tạo

Bước 1: Assignment step

Gán các điểm ảnh đến các cụm sao cho khoảng cách đến điểm đó đến cụm là nhỏ nhất Khoảng cách từ điểm ảnh đến các cụm được tính theo khoảng cách Euclidean Công thức (18) mô tả phép gán cho bước này:

𝑆𝑖(𝑡) = {𝑥𝑝: ‖𝑥𝑝− 𝑚𝑖(𝑡)‖2∀𝑗, 1 ≤ 𝑗 ≤ 𝑘} (18)

Xp: được gán đến cụm S(t)

Bước 2: Update step

Tính toán lại giá trị trung bình của mỗi cụm mới, giá trị trung bình được tính theo công thức:

1.2.2 Phân vùng ảnh dựa trên phương pháp GrowCut

Growcut là một phương pháp dựa trên Region growing Đây là phương pháp lặp đi lặp lại, được để xuất bởi tác giả V Vezhnevets, V Konouchine (2005) trong bài báo [10] Thuật toán này

sử dụng máy tự động (Cellular Automaton) như là một mô hình ảnh (image model) Máy tiến

Trang 29

HVTH: Trương Văn Cương 11

hóa tự động mô hình quá trình phân vùng (segmentation process) Mỗi một tế bào của máy tự động

có vài nhãn (label- Trong trường hợp bi-segmentation: nhãn của tế bào sẽ là: ‘object’,

‘background’, ‘empty’) Trong quá trình tiến hóa tự động làm một số cell sẽ thu thập (capture) các lân cận của chúng, thay các nhãn này Trong thuật toán Growcut, người sử dụng đưa ra một số nét thuộc bên trong đối tượng quan tâm và một số nét thuộc bên ngoài đối tượng quan tâm Trong trường hợp đơn giản, một số nét là đủ để phân vùng Bài báo [10] đề xuất một chương trình tương tác người dùng trực quan – người dùng chỉ định các điểm ảnh nhất định (điểm ảnh hạt giống – seed pixel) thuộc đối tượng (object), có thể phân vùng với nhau Nhiệm vụ là ta phải gán nhãn cho tất cả các điểm ảnh một cách tự động, để đạt được kêt quả phân vùng tốt nhất Phương pháp này

sử dụng Celllar automaton để giải quyết vấn đề gán nhãn Đây là một phương pháp lặp, hồi tiếp

cho người dùng trong khi quá trình phân vùng được tính toán Phương pháp đề xuất cho phép (nhưng không yêu cầu) đầu vào của con người trong quá trình gán nhãn, cung cấp một vòng lặp động và hồi tiếp giữa người dùng và giải thuật Điều này cho phép điều chỉnh và hướng dẫn của các thuật toán với đầu vào người dùng trong các vùng mà quá trình phân vùng khó khăn trong việc tính toán, nhưng không yêu cầu người dùng bổ sung nỗ lực nơi mà quá trình phân vùng là tính toán tin cậy tự động Cellular automata được giới thiệu bởi Ulam và Von Neumann Được sử dụng

để mô hình nhiều hệ thống động trong nhiều ứng dụng khác nhau, bao gồm các ứng dụng như giảm nhiễu ảnh, phát hiện cạnh Cellular automaton là một thuật toán rời rạc ở cả hai miền không gian và thời gian, hoạt động trên mạng lưới các điểm p  P  Zn

Một Cellular automaton là một bộ ba tham số A = (S, N, σ) S là một tập hợp state set (cell

staet), N là hệ thống lân cận, σ= SN S, hàm truyền địa phương (rule) Hàm này định nghĩa luật tính toán trạng thái của cell tại thời điểm t+1, được cho trạng thái của các tế bào lân cận tại thời điểm t trước đó

Xác định hệ thống lân cận thường được sử dụng lân cận Von Neumann hoặc Moore

 Lân cận Von Neumann

Lân cận Von Neumann được xác định bởi công thức (20) và Hình 1-4 mô tả các lân cận Von Neumann của điểm ảnh p

𝑁(𝑝) = {𝑞 ∈ 𝑍𝑛: ‖𝑝 − 𝑞‖1 = ∑ |𝑝𝑖− 𝑞𝑖

𝑛 𝑖=1

Trang 30

HVTH: Trương Văn Cương 12

Hình 1-4: Minh họa các lân cận Von Neuman q (màu xanh) của điểm ảnh p (màu đỏ)

Hình 1-5:Minh họa các lân cận Moore q (màu xanh) của điểm ảnh p (màu đỏ)

Trạng thái của tế bào (cell state) Sp gồm 3 hệ số (𝑙𝑝, 𝜃𝑝𝐶⃗⃗⃗⃗ ) trong đó: 𝑝

𝑙𝑝 : Nhãn của tế bào hiện tại

𝜃𝑝: Độ tin cậy ‘strength’ của tế bào hiện tại, p  [0:1]

𝐶𝑝

⃗⃗⃗⃗ : Vector định nghĩ bởi hình ảnh

Các bước thực hiện giải thuật được mô tả như sau:

Bước 1: Khởi tạo tham số

Trang 31

HVTH: Trương Văn Cương 13

Không gian celluar space P được định nghĩa bởi tấm ảnh 2 chiều k x m, khởi tạo trạng thái cho

các điểm ảnh, ∀p∈P, và

𝑙𝑝 = 0, 𝜃𝑝 = 0, 𝐶⃗⃗⃗⃗ = 𝑅𝐺𝐵𝑝 𝑝 (22)

Trong đó: RGBp là một vector 3 chiều của điểm ảnh p trong không gian màu RGB

Mục tiêu cuối cùng của việc phân vùng này là gán mỗi điểm ảnh tới một trong K nhãn của ảnh

Bước 2: Khởi động quá trình phân vùng

Người dùng định nghĩa các điểm ảnh tin cậy (seed pixel), xác định đâu là đối tượng (object), đâu là cảnh nền (background) Bước này sẽ khởi tạo trạng thái của các Cellular automaton Hình 1-6 mô tả quá trình định nghĩa các điểm ảnh tin cậy: Các đường màu xanh khởi tạo các điểm ảnh tin cậy thuộc vùng nền, các đường màu đỏ khởi tạo các điểm ảnh tin cậy thuộc vùng đối tượng Sau khi khởi tạo các điểm ảnh tin cậy, nhãn của ảnh cũng sẽ được khởi tạo Hình 1-7 minh họa nhãn ban đầu được khởi tạo, màu trắng là nhãn đối tượng, màu đen là nhãn cảnh nền, màu xám là nhãn vùng chưa xác định (unknown) cần được xử lý

Hình 1-6: Người dùng định nghĩa seed pixel Màu đỏ(object), màu xanh (Bg)

Trang 32

HVTH: Trương Văn Cương 14

Hình 1-7: Nhãn được xác định dựa trên định nghĩa của người dùng Màu trắng là nhãn Object,

màu đen là nhãn Bg, màu xám là nhãn vùng unknown cần được xử lý

Ban đầu giá trị độ tin cậy p = 0 trong trường hợp chưa xác định, p = 1 tại các điểm ảnh tin cậy

Bước 3: Cập nhật tham số

Tại vòng lặp t+1, nhãn của các tế bào lpt+1 và độ tin cậy pt+1 đươc cập nhật như sau:

// for each cell

Trang 33

HVTH: Trương Văn Cương 15

(25)

1 + 𝑒𝑥𝑝 (𝛽𝑥𝛼)

Trang 34

HVTH: Trương Văn Cương 16

Hình 1-9: Sơ đồ khối giải thuật đề xuất bởi Elyor, K Gueesang Lee [12]

Hình 1-10: Quá trình phân vùng được đề xuất bởi [12]

1.3 Phương pháp tiếp cận

Một thuật toán tách cảnh nền ổn định và hiệu quả có thể xử lý được tốt trong những điều kiện thay đổi ảnh sáng, và cảnh nền thay đổi thường xuyên Qua phần phân tích tổng quan cho thấy rằng, các phương pháp cơ bản đơn giản và dễ thực hiện Tuy nhiên kết quả thường phụ thuộc nhiều vào yếu tố môi trường bên ngoài và đòi hỏi dung lượng bộ nhớ lớn Phương pháp Gaussian Mixture Model là một phương pháp được sử dụng rông rãi trong nhiều ứng dụng Ưu điểm của phương pháp này là độ ổn định cao Tuy nhiên, phương pháp này chi phí thời gian xử lý rất cao Để có thể đáp ứng được xử lý thời gian thực, yêu cầu về băng thông bộ nhớ là rất lớn Phương pháp Single Gaussian yêu cầu về dung lương bộ nhớ thấp hơn phương pháp GMM, phù hợp với các ứng dụng

xử lý video trong nhà, môi trường điều kiện ánh sáng ít thay đổi

Với giới hạn trong đề tài luận văn xử lý dữ liệu video từ camera tĩnh trong môi trường trong nhà, và yêu cầu xử lý đáp ứng thời gian thực, phương pháp Single Gaussian được chọn là phù hợp nhất Tuy nhiên, nếu chỉ sử dụng phương pháp Signle Gaussian, thì kết quả tách đối tượng sẽ không được tốt Để cải thiện vấn đề này, giải thuật GrowCut cải tiến có thể thực hiện được trên cấu trúc phần cứng sẽ được áp dụng để nâng cao chất lượng xử lý Với ưu điểm ổn định và hiệu

Trang 35

HVTH: Trương Văn Cương 17

quả, đề tài tập trung vào việc hiện thực giải thuật trên cấu trúc phần cứng FPGA và xử lý video đáp ứng thời gian thực

1.3.1 Hệ thống đề nghị

Đề tài xây dựng hệ thống hiện thực giải thuật tách cảnh nền ra khỏi cảnh video, chỉ giữ lại đối tượng di chuyển trong video Hình 1-11 mô tả hệ thống đề nghị, hình a, ảnh nền khi chưa có đối tượng, hình b: hình ảnh khi có đối tượng di chuyển c-f: các bước tách cảnh nền ra khỏi khung hình, kết quả (hình f) ta tách được đối tượng cần xử lý ra khỏi hình b

Sơ đồ giải thuật hệ thống được mô tả ở Hình 1-12 Video được lấy từ camera, đưa vào khối

xử lý, hệ thống sẽ tách ra được background và đối tượng và hiển thị kết quả ra màn hình

Thuật toán đề xuất được phát triển và mô phỏng bằng Matlab/C Sau khi mô phỏng giải thuật trên Matlab, khâu tiếp theo là thiết kế cấu trúc phần cứng của hệ thống sử dụng ngôn ngư Verilog Các khối này được mô phỏng, kiểm tra, và so sánh kết quả với kết quả mô phỏng trên matlab Chi tiết phần này được mô tả ở chương 3

Giải thuật được hiện thực trên kit phát triển Cyclone III Development, đây là kit được thiết kế chuyên dụng cho các ứng dụng xử lý hình ảnh và video Chi tiết về hiện thực giải thuật được mô

tả ở chương 4

Hình 1-11: Mô tả hệ thống background subtraction đề nghị trong đề tài

Trang 36

HVTH: Trương Văn Cương 18

Background Subtraction

Moving object (foreground)

Hình 1-12: Sơ đồ khối hệ thống thực hiện giải thuật

1.4 Mục tiêu, nội dung luận văn

1.4.1 Mục tiêu

Tách cảnh nền được xem là một bước quan trong trong nhiều ứng dụng hiện nay và rất được quan tâm trong lĩnh vực thị giác máy tính, đặc biệt là khả năng xử lý hình ảnh độ phân giải cao, đáp ứng thời gian thực Đây chính là lý do để học viên chọn và nghiên cứu đề này “Tách cảnh nền thời gian thực sử dụng FPGA” Mục tiêu đề tài là hiện giải thuật tách cảnh nền có khả năng:

- Hiện thực giải thuật tách cảnh nền dựa trên phương pháp Single Gaussian kết hợp với giải thuật GrowCut

- Xử lý video đáp ứng thời gian thực

- Xử lý hình ảnh 1080P, tốc độ 60 hình/giây

- Hiện thực giải thuật trên cấu trúc phần cứng FPGA

1.4.2 Nội dung

Nội dung đề tài bao gồm các nội dung chính sau :

 Nghiên cứu và mô phỏng các giải thuật tách cảnh nền và xây dựng mô hình cảnh nền

 Đề xuất và phát triển giải thuật tách cảnh nền cho video đáp ứng thời gian thực

 Thiết kế giải thuật trên cấu trúc phần cứng FPGA

o Xây dựng sơ đồ khối thiết kế

o Mô tả thiết kế giải thuật sử dụng ngôn ngữ mô tả phần cứng verilog

 Mô phỏng cấu trúc giải thuật trên modelsim

o Xây dựng môi trường kiểm tra mô phỏng bằng ngôn ngữ verilog

o Sử dụng phần mềm mô phỏng modesim để kiểm tra giải thuật thiết kế

o So sánh đánh giá kết quả mô phỏng giải thuật trên phần cứng và phần mềm

 Hiện thực giải thuật trên kit FPGA

o Hiện thực giải thuật trên kit FPGA

o Đánh giá kết quả và khả năng đáp ứng xử lý thời gian thực

Báo cáo và đánh giá kết quả đề tài

Trang 37

HVTH: Trương Văn Cương 19

CHƯƠNG 2: THIẾT KẾ CẤU TRÚC PHẦN CỨNG CHO GIẢI THUẬT TÁCH CẢNH NỀN DỰA TRÊN PHƯƠNG PHÁP SINGLE GAUSSIAN

VÀ GIẢI THUẬT GROWCUT

2.1 Giải thuật tách cảnh nền dựa trên phương pháp Single Gaussin và

GROWCUT

Như đã phân tích ở phần tổng quan, có nhiều phương pháp để thực hiện giải thuật tách cảnh nền Mỗi phương pháp đều có ưu và khuyết điểm riêng, tùy vào từng ứng dụng cụ thể mà ta có thể chọn một phương pháp cho phù hợp Với giới hạn đề tài là hiện thực giải thuật tách cảnh nền thời gian thực trong môi trường ánh sáng thay đổi ít và camera tĩnh, thì phương pháp Single Gausion được chọn là phù hợp Phương pháp này chỉ sử dụng một phân phối Gassian để mô hình cảnh nền

Để cải thiện kết quả trừ nền, giải thuật GrowCut được áp dụng để cho kết quả tốt hơn tại các đường biên đối tượng Ưu điểm của phương pháp này là tốn ít dung lượng bộ nhớ, mà vẫn có khả năng

xử lý tốt ở các điều kiện trong nhà Mặt khác phương pháp này có khả năng hiện thực được trên KIT FPGA Cylone III Hình 2-1 mô tả sơ đồ giải thuật đề nghị để thực hiện giải thuật tách cảnh nền trên phần cứng FPGA

Trang 38

HVTH: Trương Văn Cương 20

kiểm tra số đếm frame N thu thập ảnh

khởi tạo mô hình

Hình 2-1: Sơ đồ giải thuật tách cảnh nền đề nghị

Sau khi khởi động, hệ thống sẽ giao tiếp với camera thu thập ảnh để lưu vào bộ đệm ngõ vào

Hệ thống khởi tạo mô hình nền tại khung hình thứ 10 Sau đó giải thuật trừ nền và cập nhật tham

số mô hình nền được thực hiện Kết quả trừ nền sẽ được hiển thị ra màn hình

2.1.1 Mô hình nền

Như đã tìm hiểu ở phần tổng quan, trong phương pháp của tác giả Wren [5], mô hình nền bao gồm hai thành phần: giá trị trung bình (µ)và giá trị phương sai() của hình ảnh Trong đề tài này, video xám 8bit được sử dụng để xử lý Giá trị trung bình của mô hình của mô hình là giá trị độ xám của video

 Khởi tạo mô hình nền

Khi hệ thống bắt đầu hoạt động, các giá trị trung bình và phương sai sẽ được khởi tạo giá trị ban đầu Giá trị trung bình của mô hình được lấy là khung ảnh thứ 10 sau khi hệ thống hoạt động Giá trị phương sai được khởi tạo là một ma trận h*w, có các giá trị bằng nhau và bằng 36 Giá trị trung bình và phương sai của mô hình có độ rộng 8 bit, và mô mình này sẽ được lưu xuống bộ nhớ ngoài DDR2 của hệ thống

Trang 39

HVTH: Trương Văn Cương 21

2.1.2 Trừ nền dựa trên phương pháp Growcut

Ở bước này, thay vì sử dụng giải thuật trừ nền truyền thống được cho bởi công thức (26), sẽ cho kết quả không tốt tại điểm biên đối tượng Vì vậy, để kết quả tốt hơn, giải thuật trừ nền dựa trên phương pháp GrowCut được đề xuất để giải quyết vấn đề này Khâu trừ nền được chia làm hai bước chính: tạo mặt nạ bimap và áp dụng giải thuật GrowCut

2.1.2.1 Tạo mặt nạ bimap, gán nhãn đối tượng

Đây là bước so sánh khung hình hiện tại với mô hình nền Kết quả là một ma trận bimap bao gồm: các điểm ảnh thuộc vùng nền (background-điểm trắng) hay không không thuộc vùng nền (thuộc tiền cảnh foreground- điểm đen) và các điểm ảnh thuộc vùng unknown Bước này có thể được gọi là bước chọn “seed pixel” trong giải thuật phân vùng ảnh GrowCut Giá trị Bimap được tính toán bởi công thức (26)

It : giá trị điểm ảnh hiện tại

µi : giá trị trung bình của mô hình nền

 : giá trị phương sai của mô hình nền

k_l, k_h: giá trị ngưỡng dưới và ngưỡng trên được chọn để phù hợp với từng mô trường

2.1.2.2 Giải thuật GrowCut

Sau khi có được ma trận bimap, giải thuật Growcut cải tiến được áp dụng với số vòng lặp bằng 3 được áp dụng để xử lý các giá trị thuộc vùng unknown Giải thuật được chia làm hai bước:

Bước 1: Khởi tạo tham số

Các cell state Sp trong trường hợp này bao gồm ba tham số (𝑙𝑝, 𝜃𝑝, 𝐶⃗⃗⃗⃗ ), trong đó nhãn l𝑝 p là nhãn của điểm ảnh hiện tại, θp là độ mạnh “strength” của điểm ảnh hiện tại, 𝐶⃗⃗⃗⃗ là giá trị điểm ảnh 𝑝hiện tại Các tham số được cập nhật như sau:

∀p∈P, ta có:

lp : được gán từ mặt trận trimap tính ở bước trước

(27)

Trang 40

HVTH: Trương Văn Cương 22

Ngày đăng: 27/01/2021, 08:58

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w