Tải bản đầy đủ - 0 (trang)
e) Sử dụng phép trừ nền bằng thuật toán Frame Diffirent

e) Sử dụng phép trừ nền bằng thuật toán Frame Diffirent

Tải bản đầy đủ - 0trang

đến việc phân tách background từ foreground, thậm chí còn cung cấp cả cơ chế để có thể phân

biệt giữa chuyển động thực tế và chuyển động của bóng hoặc thay đổi ánh sáng.

Background của video live stream của em phần lớn là tĩnh và không thay đổi đối với các

khung hình tiếp theo của video. Vì vậy, nếu chúng ta có mơ hình của background, chúng ta có

thể giám sát khung hình cho những sự thay đổi đáng kể bên trong. Nếu có sự thay đổi nào

đáng kể diễn ra, thay đổi này thường là sẽ tương ứng với chuyển động trên video của em.

Trong thế giới thật thì giả định trên có thể dễ dàng thất bại. Do sự xuất hiện của bóng

mờ, phản chiếu, điều kiện ánh sáng và có thể là bất kì điều kiện nào khác có thể có trong mơi

trường, nền của chúng ta có thể trơng khá khác nhau trong các khung hình của video theo thời

gian. Một khi xuất hiện nền khác thì tất cả các thuật tốn sẽ thất bại. Đó là lý do các hệ thống

background substraction và foreground detection thành công trong điều kiện máy ảnh cố định

và ánh sáng được kiểm soát. Background Subtraction rất quan trọng trong ứng dụng của

computer vision. Có thể sử dụng để tính số xe ơ tơ đi qua một trạm thu phí, số người đi bộ vào

và ra cửa hàng.

Dựa vào các phương thức đề cập ở trên, chúng rất mạnh và đi cùng với đó là sự tính

tốn rất phức tạp. Mục tiêu cuối cùng của em là triển khai hệ thống này đến một Raspberry Pi

3 nên em sẽ tiếp cận các phương pháp nêu trên bằng một cách gần giống, đơn giản hơn nhưng

vẫn cung cấp một kết quả tốt, Em xin gọi là phương pháp Frame Different, Từ đây em sẽ

dùng phương pháp này để phát hiện chuyển động.

Frame difference là trừ hai pixel của hai ảnh ở cùng tọa độ cho nhau. Chi tiết lưu đồ

thuật toán được trình bày như hình



35



Hình THIẾT KẾ CHI TIẾT HỆ THỐNG PHÂN LOẠI VÀ ĐÁNH GIÁ CHẤT LƯỢNG QUẢ XOÀI-25:

Lưu đồ thuật toán Frame Difference



Để phát hiện chuyển động diễn ra trong khi live stream video, em sử dụng thuật toán

Background Subtraction. Kết quả thử nghiệm, CPU khoảng 25%, tốc độ hình 30 khung

hình/s.

Phương pháp này thực hiện tính tốn một lúc tồn bộ hình ảnh, khơng phải chia thành

các cửa sổ nhỏ để trượt và tính tốn nhận dạng đối tượng nhiều lần. Nguyên lý cơ bản của

thuật toán là thực hiện trừ cả khung hình hiện tại cho khung hình nền để phát hiện các vật

chuyển động. Khung hình nền được cập nhật tự động, điều này còn khá cơ bản và khơng phải

phương pháp hồn hảo để mơ tả nhưng nó đủ để sử dụng trong điều kiện bài tốn đặt ra. Do

đó tốc độ tính tốn là nhanh hơn nhiều. Phương pháp này có ưu điểm là số lượng tính tốn ít,

thời gian nhận dạng, xử lý mỗi khung hình là nhỏ, CPU có khả năng hoạt động liên tục. Tuy

nhiên, nó có nhược điểm so với hai phương pháp trên là khi quả không di chuyển thì khơng

thể nhận dạng.

Khung hình sau khi qua các bước xử lý bên trên thì, tại lần đầu tiên, máy tính cần thiết

lập khung nền, máy tính sẽ lấy frame nền đầu tiên làm khung nền để phát hiện chuyển động.

Tại lần tiếp theo, em lấy trung bình cộng của khung hình nền đầu tiên và khung hình hiện tại

làm frame nền mới để có thể chống lại sự thay đổi của môi trường như điều kiện ánh sáng.



36



NewBG 



firstBG  presentGauss

2



Trong các khung hình, nền là các vùng có điểm ảnh thay đổi rất chậm theo thời gian,

còn quả là các vật liên tục di chuyển. Do đó tại các vùng có vật di chuyển liên tục, giá trị các

pixel là thay đổi liên tục. Để tách nền và quả di chuyển, hệ thống trừ hai frame hiện tại với

frame nền hiện tại với nhau. Các vùng là nền pixel khơng đổi thì có giá trị bằng 0 (màu đen),

các vùng có quả di chuyển có các giá trị pixel khác 0.



framdelta  presentGauss  NewGB

3.3.2. Xử lý thông tin bề mặt quả

a) Xác định đường biên bề mặt

Biên là một đường viền bao quanh vật thể. Tại biên, các điểm ảnh trên biên có sự thay

đổi đột ngột về cường độ so với nền. Dựa vào sự thay đổi đó, bộ lọc được dùng để tìm ra

đường biên của ảnh. Xuất phát từ cơ sở này, người ta sử dụng hai phương pháp phát hiện biên

cơ bản:





Phát hiện biên trực tiếp: Kỹ thuật chủ yếu dùng để phát hiện biên ở đây là kỹ thuật

lấy đạo hàm. Nếu lấy đạo hàm bậc nhất, ta có kỹ thuật Gradient, nếu lấy đạo hàm bậc

hai của ảnh, ta có kỹ thuật Laplace.







Phát hiện biên gián tiếp: Ta phân hình ảnh thành các vùng ranh giới. Từ đó biên là

ranh giới giữa các vùng.



Phương pháp phát hiện biên trực tiếp hiệu quả hơn và ít chịu ảnh hưởng của nhiễu, song

nếu sự biến thiên độ sáng khơng đột ngột thì phương pháp tỏ ra kém hiệu quả. Phương pháp

phát hiện biên gián tiếp tuy khó cài đặt, song lại áp dụng khá tốt trong trường hợp độ sáng

biến thiên không đột ngột.

Bộ lọc Canny là tập hợp nhiều bước khác nhau:





Bước 1: Loại bớt nhiễu trong ảnh.



Ta loại nhiễu trong ảnh, làm trơn ảnh bằng cách nhân chập ảnh với bộ lọc Gauss, chẳng

hạn bộ lọc Gauss 55 với hệ số  = 1.4



M=





Bước 2: Tính tốn giá trị độ lớn và hướng gradient tại mỗi điểm (i, j)

Độ lớn: G  i, j   Gx2  i, j   G y2  i, j 



37







Hướng:   i, j   arctan Gx  i, j   G y  i, j 











Bước 3: Hướng gradient được làm tròn thành bốn góc 0o, 45o, 90o, 135o;







Bước 4: Loại bỏ những điểm không phải cực đại địa phương đẻ xóa bỏ những điểm

khơng phải là biên thực sự. Xét tại I(i,j), (i,j) là hướng gradient tại (i,j). I1, I2 là hai

điểm lân cận của (i,j) theo hướng . I sẽ là biên nếu độ lớn gradient tại I > I1 và I > I2;







Bước 5: Canny sử dụng hai ngưỡng cao và thấp. Từ những điểm dò được qua bốn

bước trên, chỉ những điểm lớn hơn ngưỡng thấp và nhỏ hơn ngưỡng cao mới được

giữ lại.



Hình THIẾT KẾ CHI TIẾT HỆ THỐNG PHÂN LOẠI VÀ ĐÁNH GIÁ CHẤT LƯỢNG QUẢ XỒI-26:

Đường biên bề mặt quả xồi



Trong bài toán này, em sử dụng 2 bước vẽ đường biên của bề mặt quả và bề mặt quả và

đường biên bề mặt khuyết tật.



38



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

e) Sử dụng phép trừ nền bằng thuật toán Frame Diffirent

Tải bản đầy đủ ngay(0 tr)

×