You are on page 1of 20

ĐẠI HỌC ĐÀ NẴNG

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

-------------------oo0oo------------------

TIỂU LUẬN MÔN HỌC THỊ GIÁC MÁY TÍNH


Đề tài: GIẢM RUNG VIDEO SỬ DỤNG SO KHỚP ĐIỂM ĐẶC TRƯNG

Học viên thực hiện : PHẠM QUỐC CƯỜNG


Lớp : K35DTCH
Giảng viên hướng dẫn : TS. PHAN TRẦN ĐĂNG KHOA

Đà Nẵng, 5-2018

1
MỤC LỤC

DANH MỤC HÌNH ẢNH .................................................................................................................. 3


CHƯƠNG 1: TỔNG QUAN KỸ THUẬT GIẢM RUNG VIDEO SỬ DỤNG SO KHỚP ĐIỂM
ĐẶC TRƯNG ................................................................................................................................... 4
1.1. Giới thiệu ................................................................................................................................... 4
1.2. Bài toán giảm rung video .......................................................................................................... 4
1.3. Lưu đồ thuật toán giảm rung video sử dụng so khớp điểm đặc trưng .................................... 5
1.3.1. Đọc các khung ảnh từ video đầu vào .................................................................................. 6
1.3.2. Thu thập các điểm nổi bật từ mỗi khung hình................................................................... 7
1.3.3. Chọn sự tương ứng giữa các điểm ...................................................................................... 8
1.3.4. Ước lượng biến đổi từ sự tương ứng có nhiễu...................................................................10
1.3.5. Xấp xỉ phép biến đổi và làm mịn .......................................................................................12
1.4. Kết luận ....................................................................................................................................13
CHƯƠNG 2: MÔ PHỎNG – ĐÁNH GIÁ KẾT QUẢ THỰC NGHIỆM ...................................14
2.1. Giới thiệu ..................................................................................................................................14
2.2. Các kết quả sau khi chạy mô phỏng ........................................................................................14
2.3. Đánh giá kết quả ......................................................................................................................17
2.4. Kết luận ....................................................................................................................................17
KẾT LUẬN .....................................................................................................................................18
TÀI LIỆU THAM KHẢO ..............................................................................................................19
PHỤ LỤC ........................................................................................................................................20

2
DANH MỤC HÌNH ẢNH

Hình 1.1. Lưu đồ thuật toán giảm rung video sử dụng so khớp điểm đặc trưng..………5
Hình 1.2. Hai khung hình được đọc từ video đầu vào……………………………………...6
Hình 1.3. Hình ảnh kết hợp màu đỏ-lục lam………………………………………………...7
Hình 1.4. Các góc ở khung hình A và B……………………………………………………...8
Hình 1.5. Sự tương ứng giữa các điểm……………………………………………………...10
Hình 1.6. Tổ hợp màu cho thấy khung hình A phủ lên khung hình được chiếu lại B....12
Hình 1.7. Khung hình video ngõ ra sau khi biến đổi s-R-t……………………………….13
Hình 2.1. Hai khung hình A và B được đọc từ video đầu vào ‘shaky_car.avi’………..14
Hình 2.2. Tổ hợp màu của các đầu ra phép biến đổi s-R-t và affine…………………....15
Hình 2.3. Các góc (corners) phát hiện được trên khung hình A…………………………15
Hình 2.4. Các góc (corners) phát hiện được trên khung hình B………………………...16
Hình 2.5. Sự tương ứng các điểm giữa hai khung hình A và B……………………….…16
Hình 2.6. Tổ hợp màu cho thấy khung hình A phủ lên khung hình được chiếu lại B....17
Hình 2.7. Kết quả cuối cùng sau khi xử lý file đầu vào đã giảm rung video và cho hình
rõ nét………………………………………………………………………………………….....18

3
CHƯƠNG 1: TỔNG QUAN KỸ THUẬT GIẢM RUNG VIDEO SỬ DỤNG SO
KHỚP ĐIỂM ĐẶC TRƯNG
1.1. Giới thiệu
Chương này trình bày về thuật toán giảm rung video sử dụng so khớp điểm đặc
trưng và các cơ sở lý thuyết toán học ẩn chứa bên trong các thuật toán thành phần.
1.2. Bài toán giảm rung video
Giảm rung video là quá trình loại bỏ độ trượt (jitter) không mong muốn ra khỏi
chuỗi video. Kỹ thuật này trở nên ngày càng quan trọng trong nhiều hệ thống giám sát
di động như hệ thống máy bay không người lái (UAV), xe tự hành như các dòng sản
phẩm của Tesla. Hệ thống thị giác của con người HVS (Human Visual Sensing) quan
sát chuyển động trơn tru (smooth motion) một cách dễ dàng nhưng lại khó theo dõi
được các chuyển động tần số cao khi video xuất hiện độ trượt. Do đó, cần phải giảm
rung bằng cách loại bỏ các độ trượt ra khỏi video.
Nếu có được ước lượng chính xác về chuyển động toàn cục thì có thể loại đi các
hiệu ứng của chuyển động không mong muốn từ video, những hiệu ứng này được gây
ra bởi chuyển động tịnh tiến và xoay không mong muốn của platform di động.
Trong thực tế, mô hình chuyển động tịnh tiến là đủ cho một số ứng dụng, đối
với trường hợp này, bộ lọc thông thấp và bộ lọc trung bình di chuyển là được sử dụng
rộng rãi để làm mịn những chuyển động toàn cục. Quá trình bù chuyển động được thực
hiện bằng cách dịch vị trí của khung hình video với bằng đúng sự sai lệch giữa chuyển
động có chủ đích tích lũy với chuyển động tổng. Tuy nhiên, ước lượng chuyển động
toàn cục không phải là một nhiệm vụ dễ dàng khi các vật thể chuyển động lớn cũng
xuất hiện ở tại thời điểm quay video. Một đối tượng chuyển động lớn được định nghĩa
có kích thước gần bằng một nửa hình ảnh.
Trong thời gian qua, nhiều thuật toán ổn định và giảm rung video đã được phát
triển và có thể chia thành ba loại:
 Loại thứ nhất sử dụng cảm biến chuyển động hoặc các thiết bị cơ khí như gia
tốc kế (accelerometer), con quay hồi chuyển (gyros) và bộ giảm chấn cơ học
(mechanical dampers) để giảm rung platform di động.
 Loại thứ hai là phương pháp giảm rung dựa vào việc theo dõi đối tượng, các đối
tượng được lựa chọn sau đó sử dụng các thuật toán đối sánh mẫu và đối sánh

4
đối tượng địa lý để theo dõi các đối tượng đã chọn. Những hệ thống thiết kế sử
dụng phương pháp này thường theo dõi các mục tiêu như biển số xe, người, dấu
hiệu làn đường hoặc biển báo để trong các ứng dụng giám sát giao thông, …
 Loại thứ ba dựa trên phương pháp ước lượng chuyển động, một hệ thống ổn
định video thường bao gồm ba giai đoạn: ước lượng chuyển động toàn cục
(global motion estimation), lọc chuyển động (motion filtering) và bù chuyển
động (motion compensation). Mục đích của giai đoạn đầu tiên là ước tính
chuyển động của các đối tượng di chuyển trong khung. Các tham số của chuyển
động được ước lượng được đưa vào giai đoạn thứ hai để được làm mịn chuyển
động (motion smoothing) bằng cách loại bỏ biến dạng tần số cao và tính toán sự
biến đổi toàn cục. Tiếp theo, những vùng cong vênh sẽ được xử lý nhờ thao tác
bù chuyển động để có được video ổn định. Không giống như các thuật toán dựa
trên việc theo dõi các đối tượng đã chọn, thuật toán ổn định video dựa trên ước
lượng chuyển động toàn cục có thể hoạt động một cách tự động. Tiểu luận sẽ
trình bày kỹ thuật giảm rung video từ nền tảng của phương pháp này
1.3. Lưu đồ thuật toán giảm rung video sử dụng so khớp điểm đặc trưng

Hình 1.1. Lưu đồ thuật toán giảm rung video sử dụng so khớp điểm đặc trưng

5
Dưới đây sẽ trình bày chi tiết về các thuật toán thành phần
1.3.1. Đọc các khung ảnh từ video đầu vào
Trong bước này, đầu tiên hai khung hình của một chuỗi video được đọc. Những
khung hình này được đọc dưới dạng hình ảnh cường độ vì màu sắc không cần thiết cho
thuật toán giảm rung và sử dụng ảnh xám (grayscale) sẽ làm tăng tốc độ thực thi của
thuật toán. Chuyển đổi ảnh RGB sang ảnh xám có được bằng cách lấy tổng trọng số
của các thành phần R, G và B theo phương trình
Y  0.2989* R  0.5870* G  0.1140* B (1)

Hình 2 hiển thị cả hai khung hình cạnh nhau. Cường độ điểm ảnh (pixel
intensity) của hình ảnh được tách ra khỏi màu sắc. Có một độ lệch (offset) theo chiều
dọc và ngang lớn giữa hai khung hình do sự chuyển động của camera.

Hình 1.2. Hai khung hình được đọc từ video đầu vào
Sau khi đọc hai khung, hỗn hợp màu đỏ-lục lam được tạo ra để tìm điểm khác
biệt giữa chúng thể hiện trong hình 1.2

6
Hình 1.3. Hình ảnh kết hợp màu đỏ-lục lam
1.3.2. Thu thập các điểm nổi bật từ mỗi khung hình
Với mục tiêu tìm ra phép biến đổi sẽ chỉnh sửa méo (distortion) giữa hai khung
hình nên cần phải thu thập các điểm đặc trưng (salient points). Điểm đặc trưng là các
điểm quan tâm như góc (corner), biển báo trên đường (signs), ngọn cây, ...
Tất cả những điểm này đều mang thông tin có tính chất định vị và cục bộ. Có
nhiều thuật toán phát hiện góc như: thuật toán phát hiện góc Moravec, thuật toán phát
hiện góc của Harris & Stephens, bộ phát hiện góc SUSAN,... Trong tiểu luận sẽ sử
dụng phương pháp FAST (Fast Accelerated Segmented Test) để phát hiện và tách các
điểm đặc trưng. FAST là thuật toán để phát hiện các điểm đặc trưng với đầu vào video
chất lượng cao được đo lường với thời gian tính toán ít hơn.
Các điểm được phát hiện từ cả hai khung được minh họa trong hình 1.4; các đặc trưng
như góc của ô tô, các điểm dọc theo hàng cây, các góc của biển báo đường lớn, ....
được chứa trong cả hai khung A và B.

7
Hình 1.4. Các góc ở khung hình A và B
1.3.3. Chọn sự tương ứng giữa các điểm
Trong bước này,sự tương ứng giữa các điểm nổi bật của khung hình sẽ được
thiết lập. Đối với mỗi điểm, sẽ trích xuất một mô tả điểm đánh dấu nhanh (Fast Retina
Key point) được định vị tập trung vào nó. Chi phí đối sánh (matching cost) là tổng các
sai lệch bình phương (SSD – Sum of Squared Difference) giữa các vùng hình ảnh
tương ứng
Đặt I  x, y  và I  x  u, y  v  là 2 hình ảnh, lúc đó SSD được định nghĩa như sau

E  x, y    x , yw  I  x  u , y  v   I  x, y  
2
(2)
 
Khai triển chuỗi Taylor với điều kiện chuyển động  u, v  là nhỏ

I I
I  x  u , y  v   I  x, y   u v (3)
x x

u 
I  x  u , y  v   I  x, y    I x , I y    (4)
v

với
Kết hợp (2) và (3)
2
 u  
E  x, y     I  x, y    I x , I y     I  x, y  
 x , y w  v 
2
  u 
hay E  x, y      I x , I y    
 x , y w   v 
phương trình có thể viết lại dưới dạng

8
 I x2 IxI y u
E  x, y   u v     x , y w  (4)
 IxI y I y2  v

Gọi ma trận H là méo giữa 2 khung hình liên tiếp thì
I x2 IxI y
H 
 x , y w I x I y I y2

Để tìm hướng của H , cần phải tìm giá trị Eigen và vector Eigen. Vector Eigen
của ma trận H là các vector x thỏa mãn:
H .x  . X
Đại lượng vô hướng là giá trị Eigen tương ứng với x . Giá trị Eigen tìm được
bằng cách giải phương trình:
det  H   I   0

Trong trường hợp ma trận H có kích thước 2  2 thì:


h   h12 
det  11
 h21 h22   

Do đó:

   h11  h22   4h12 h21   h11  h12  


1 2

2  

Từ các giá trị Eigen sẽ tìm được các vector Eigen dựa vào phương trình:
 h11   h12   x1 
 h 0
 21 h22     x2 

Chọn những điểm mà tại đó giá trị  là cực trị thì các điểm đó chính là điểm đặc
trưng. Quá trình trên được áp dụng để hiển thị những nơi tương ứng giữa các khung
hình A và B. Vì vậy, các điểm trong khung hình A và B được đối sánh chặt chẽ. Hình
1.5 cho thấy cùng một phức hợp màu giống nhau được đưa ra ở trên, các điểm đặc
trưng từ khung hình A được hiển thị với màu đỏ và các điểm đặc trưng từ khung B
được hiển thị với màu xanh lá cây. Các đường màu vàng cho thấy sự tương ứng giữa
các điểm. Không có ánh xạ 1-1 do đó các điểm từ khung hình B có thể tương ứng với
nhiều điểm trong khung hình A. Có nhiều sự tương ứng giữa các điểm là đúng nhưng
vẫn còn tồn tại một số trường hợp ngoại lệ.

9
Hình 1.5. Sự tương ứng giữa các điểm
1.3.4. Ước lượng biến đổi từ sự tương ứng có nhiễu
Nhiều sự tương ứng các điểm thu được trong bước thứ 3 còn bị hạn chế về độ
chính xác. Để khắc phục vấn đề này, thuật toán đồng thuận mẫu ngẫu nhiên
(RANSAC - Random Sample Consensus) được sử dụng để thực thi hàm biến đổi hình
học trong MatLab.
Sử dụng thuật toán RANSAC, một ước tính chắc chắn hơn về sự biến đổi giữa
khung hình A và khung hình B được rút ra. Thuật toán RANSAC hoạt động để tìm các
tương ứng không phải là ngoại lệ một cách hiệu quả và sau đó sẽ suy ra phép biến đổi
liên quan để ánh xạ các điểm không phải là trường hợp ngoại lệ từ khung hình A sang
khung hình B. Phép biến đổi này chỉ có khả năng thay đổi mặt phẳng ảnh.
Giả sử rằng mặt phẳng nền là tĩnh và không thay đổi đáng kể giữa khung hình
thứ nhất và khung thứ hai. Phép biến đổi sẽ bắt chuyển động của camera và do đó quá
trình hiệu chỉnh sẽ giảm rung video. Hơn nữa, chuyển động của camera giữa khung
hình A và khung B là tối thiểu hoặc thời gian lấy mẫu của video đủ lớn thì điều kiện
này vẫn được duy trì. Thuật toán RANSAC được lặp lại nhiều lần và tại mỗi lần chạy
thì hàm chi phí của kết quả được tính bằng cách chiếu khung hình B lên khung A
thông qua tổng số sai lệch tuyệt đối SAD (Sum of Absolute Differences) giữa hai
khung hình.

10
SAD đo lường sự biến dạng (méo) giữa hai khung hình bằng cách đánh giá sự
tương quan giữa các khối hình ảnh. Phương trình (5) định nghĩa tổng SAD giữa các
phần tử trong hai khối hình ảnh
SAD  i 1  j 1 ci , j  ri , j
N N
(5)

với ri , j biểu diễn cho các phần tử ở khung hình thứ nhất và ci , j biểu diễn cho các phần

tử ở khung hình thứ hai.


Trên cơ sở các giá trị SAD sẽ có được phép biến đổi và phép biến đổi làm các
điểm hợp lệ từ tập điểm thứ nhất tương ứng với các điểm hợp lệ từ tập điểm thứ hai.
Phép biến đổi Affine là ma trận kích thước 3  3 và được viết dưới dạng nhân ma trận
theo sau là phép cộng vector. Biến đổi Affine biểu diễn mối quan hệ giữa hai hình ảnh.
Phép biến đổi Affine thường được biểu diễn bởi ma trận 2  3 .
a a01 
A   00
 a10 a11  22

b 
B   00 
 b10  21

a a01 b00 
M   A B    00
 a10 a11 b10  23

x
Nếu muốn biến đổi vector 2 chiều X    bằng cách sử dụng A và B thì sẽ
 y
tương đương như sau:
 x
T  A.    B
 y
hoặc
T  M . x y 1
T

 a x  a01 y  b00 
T   00 
 a10 x  a11 y  b10 
(6)
Phép biến đổi Affine có được các thông tin về độ xoay (rotation), sự tịnh tiến
(translation), tỉ lệ (scale) được chứa trong 6 tham số ở công thức (6).

11
Hình 1.6 cho thấy một tổng hợp màu hiển thị khung A phủ lên khung B được
chiếu lại, cùng với các điểm tương ứng được chiếu lại. Từ hình minh họa có thể thấy
rằng, sự tương ứng các điểm hợp lệ có được trùng hợp chính xác. Các điểm quan trọng
của hình ảnh đều được căn chỉnh tốt theo cả hai chiều dọc và chiều ngang cho nên hỗn
hợp màu đỏ-lục lam trở thành vùng đen trắng trong vùng đó.

Hình 1.6. Tổ hợp màu cho thấy khung hình A phủ lên khung hình được chiếu lại B
1.3.5. Xấp xỉ phép biến đổi và làm mịn
Chúng ta có thể sử dụng tất cả 6 tham số của phép biến đổi Affine nhưng để
đơn giản hóa về phương diện số học thì sẽ hiệu chỉnh ma trận như là phép biến đổi tịnh
tiến – xoay – tỉ lệ đơn giản hay còn gọi là biến đổi s-R-t (scale-Rotation-translation
Transform).
Phép biến đổi này có 4 tham số tự do gồm: 1 tham số tỉ lệ, 1 tham số góc và 2
tham số tịnh tiến. Xây dựng phép biến đổi s-R-t để có được ma trận phép biến đổi mới
có dạng như sau:
 s *cos(ang) s *  sin(ang) 0 
 s *sin(ang) s *cos(ang ) 0 
 
 t _ xt t _ yt 1 

Khung hình video ngõ ra sau khi sử dụng phép biến đổi s-R-t có được ở hình 1.7

12
Hình 1.7. Khung hình video ngõ ra sau khi biến đổi s-R-t
1.4. Kết luận
Các cơ sở lý thuyết nền tảng của phương pháp giảm rung video sử dụng so
khớp các điểm đặc trưng đã được trình bày và là nền tảng để viết code thực nghiệm
bằng phần mềm Matlab/Simulink.

13
CHƯƠNG 2: MÔ PHỎNG – ĐÁNH GIÁ KẾT QUẢ THỰC NGHIỆM
2.1. Giới thiệu
Nội dung chương trình bày về chương trình và cách mô phỏng phương pháp
giảm rung video sử dụng so khớp điểm đặc trưng bằng Matlab/Simulink của hãng
Mathworks sau đó đưa ra những nhận xét kết luận.
2.2. Các kết quả sau khi chạy mô phỏng

Hình 2.1. Hai khung hình A và B được đọc từ video đầu vào ‘shaky_car.avi’

Hình 2.2. Tổ hợp màu của các đầu ra phép biến đổi s-R-t và affine

14
Hình 2.3. Các góc (corners) phát hiện được trên khung hình A

Hình 2.4. Các góc (corners) phát hiện được trên khung hình B

15
Hình 2.5. Sự tương ứng các điểm giữa hai khung hình A và B

Hình 2.6. Tổ hợp màu cho thấy khung hình A phủ lên khung hình được chiếu lại B

16
Hình 2.7. Kết quả cuối cùng sau khi xử lý file đầu vào đã giảm rung video và cho hình
rõ nét

2.3. Đánh giá kết quả


Các kết quả của phương pháp giảm rung video sử dụng so khớp điểm đặc trưng
đã được trình bày theo từng bước ứng với lưu đồ thuật toán đã trình bày ở chương 1,
có thể thấy rằng video có độ trượt cao (highly-jittery video) đã được xử lý để có được
một video có chất lượng tốt, không gây cảm giác rung đối với hệ thống thị giác của
con người.
2.4. Kết luận
Chương này đã trình bày các kết quả thực nghiệm bằng Matlab/Simulink trên cơ
sở lý thuyết đã trình bày ở chương 1, có thể thấy rằng kỹ thuật giảm rung video sử
dụng so khớp điểm đặc trưng có tốc độ thực thi nhanh và hoàn toàn có thể ứng dụng
trong các hệ thống xử lý video giám sát, camera hành trình, …

17
KẾT LUẬN
Phương pháp so khớp điểm đặc trưng đưa ra cách tiếp cận hợp lý và hiệu quả về
mặt tính toán trong việc ổn định video có độ rung cao do bị biến dạng. Thuật toán
FAST được trình bày trong tiểu luận được ứng dụng trong các hệ thống giảm rung và
và cải thiện hiệu suất thực thi về khía cạnh thời gian thực.
So sánh video đã được xử lý giảm rung và video nguyên sơ ban đầu thấy rằng đã
video sau khi xử lý đã đáp ứng được cơ bản về hệ thống thị giác của con người. Kết
quả cho thấy nhiều độ trượt trong video đã bị loại bỏ. Thuật toán FAST hiệu quả trong
việc nâng cao chất lượng của camera giám sát video trong các hệ thống giao thông
công cộng, y tế, ... Kỹ thuật giảm rung video rất hữu ích trong việc nhận dạng người,
biển số xe, ... từ hệ thống camera giám sát có độ phân giải kém về mặt chất lượng.

18
TÀI LIỆU THAM KHẢO
[1] Mr. K. Rasool Reddy, Mr. V. Subba Rao, Mr. Ch. Madhava Rao. "Real time
stabilization of jittery videos using matching techniques" International Journal of
Advance Research, IJOAR .org - Volume 2, Issue 10, October 2014, Online: ISSN
2320-9119.
[2] Jinhai Cai; Rodney Walker "Robust video stabilisation algorithm using feature"
IET Computer Vision, Vol.3, No.4, pp.176-188, December 2009
[3] S. Kulkarni, D. Bormane and S. Nalbalwar"Stabilization of Jittery Videos Using
Feature Point Matching Technique" B. Iyer, S. Nalbalwar and R. Pawade (Eds.)
ICCASP/ICMMD-2016. Advances in Intelligent Systems Research. Vol. 137, Pp. 728-
737

19
PHỤ LỤC
Code chương trình:

Email: cuongphamquoc@outlook.com
Mobile: 0901 704 156

20

You might also like