Tải bản đầy đủ (.pdf) (10 trang)

Hệ cơ sở dữ liệu đa phương tiện

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (852.94 KB, 10 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

CƠ SỞ DỮ LIỆU ĐA PHƯƠNG TIỆN
ĐỀ TÀI:

Phân đoạn video đơn giản (phát hiện các
shot) sử dụng đặc trưng toàn cục

Hà Nội tháng 5 năm 2017
1


Lời nói đầu
Ngày nay cùng với sự bùng nổ của internet, các phương tiện truyền thông
đa phương tiện, các thiết bị quay phim kĩ thuật số ngày càng tân tiến, các thiết bị
lưu trữ với dung lượng tăng lên chóng mặt làm phát sinh nhu cầu xử lí các dữ liệu
đa phương tiện đặc biệt là video. Bài toán phân tách các đối tượng trong video là
một bài toán khó và đóng vai trò quan trọng trong các ứng dụng đa phương tiện ví
dụ như truy tìm video theo nội dung, kĩ thuật nén video thế hệ mới, theo vết đối
tượng, các thiết bị giám sát thông minh, v.v. Tuy nhiên để đạt được mục tiêu phân
đoạn các đối tượng có nghĩa hiện nay vẫn chưa có phương nào nào thật sự hiệu
quả. Hiện nay trong phân đoạn video gặp một số khó khăn cần khắc phục là chưa
giải quyết được khi điều kiện chiếu sáng thay đổi, camera chuyển động phức tạp,
các đối tượng chuyển động đan xen che khuất nhau, chưa xử lí được trong thời
gian thực. Trong phạm vi môn học cơ sở dữ liệu đa phương tiện, nhóm em tìm
hiểu về kỹ thuật phân đoạn video sử dụng đặc trưng toàn cục.

2



Mục lục
Lời nói đầu................................................................................................................ 2
Mục lục ..................................................................................................................... 3
I. Bài toán ................................................................................................................. 4
II.Hệ thống ................................................................................................................ 4
1.Cách xây dựng hệ thống .................................................................................... 4
2.Cách tính đặc trưng và khoảng cách ................................................................. 4
3. Cách lưu dữ liệu ............................................................................................... 7
III. Kết quả cài đặt .................................................................................................... 7
1. Kết quả minh họa.............................................................................................. 7
2.Phân tích đánh giá kết quả ................................................................................. 8
IV.Kết luận ............................................................................................................... 9
Tài liệu tham khảo .................................................................................................. 10

3


I. Bài toán
Yêu cầu bài toán: Phân đoạn video đơn giản (phát hiện các shot) sử dụng
đặc trưng toàn cục.
Video là gì?
Video là tập hợp các khung hình được đặt liên tiếp nhau, mỗi khung hình là
một ảnh số.
Frame(khung): Video được tạo nên bởi chuỗi các ảnh tĩnh. Một chuỗi các
khung tĩnh đặt cạnh nhau tạo nên các cảnh phim chuyển động. Một khung đơn là
một ảnh tĩnh.
Shot: là đơn vị cơ sở của video.
Đặc trưng toàn cục: là đặc trưng thuộc tính thu được từ toàn bộ nền, đối
tượng..
Input : 1 Video

Output : các đoạn video và các keyframe tương ứng.

II.Hệ thống
1.Cách xây dựng hệ thống
Từ video, tính histogram màu của 2 frame liên tiếp nhau, sau đó tính
khoảng cách của của chúng
Từ khoảng cách, ta chọn ngưỡng để tìm ra các điểm là điểm chuyển cảnh.
Từ điểm chuyển cảnh, ta tìm được các shot, keyframe là frame nằm ở giữa
shot

2.Cách tính đặc trưng và khoảng cách
2.1. Tính Histogram:
Tính trên từng frame của video histogram màu trên 3 kênh màu 0,1,2 với
mỗi kênh màu 32 bin/ dải [0-256]
Sử dụng hàm: cv2.calcHist(images, channels, mask, histSize, ranges[,
hist[, accumulate]]) → histogram của OpenCV
Trong đó: images: mảng nguồn để tính
Channels: Danh sách các kênh màu để tính toán
mask: mặt nạ tùy chọn.
histSize:Kích thước của histogram
ranges:kích thước của dải màu
hist:histogram đầu ra
accummulate: flag tích lũy. Nếu nó được thiết lập, biểu đồ sẽ không bị
xóa trong khi bắt đầu khi nó được phân bổ. Tính năng này cho phép bạn
tính một biểu đồ đơn từ một vài mảng hoặc để cập nhật biểu đồ theo
thời gian.

4



2.2. Tính khoảng cách giữa histogram:
Tính trên 2 frame liên tiếp (toàn bộ video).
Sử dụng hàm: cv2.compareHist(H1, H2, method)
Trong đó: H1: histogram thứ 1
H2: histogram thứ 2
Method: có thể là 1 trong số các phương pháp:
• CV_COMP_CORREL Correlation
• CV_COMP_CHISQR Chi-Square
• CV_COMP_INTERSECT Intersection
• CV_COMP_BHATTACHARYYA Bhattacharyya distance
• CV_COMP_HELLINGER Synonym for
CV_COMP_BHATTACHARYYA
• Hệ thống chúng em xây dựng có khoảng cách được tính theo khoảng
cách Bhattacharyya

2.3. Chọn ngưỡng cut:
Đây là vấn đề quan trọng và khó khăn nhất. Nếu lấy ngưỡng thấp thì 1 shot
có thể bị chia thành nhiều shot, nếu lấy ngưỡng cao thì nhiều shot bị gộp thành 1
shot.
Ở đây, chúng em sử dụng 2 phương pháp để so sánh:
• Twin comparisons (2 ngưỡng so sánh )
• Adaptive Threshold (ngưỡng thích nghi)
2.3.1. Twin comparisons (2 ngưỡng so sánh )
Chọn 2 ngưỡng, 1 ngưỡng t_c cho chuyển cảnh đột ngột. 1 ngưỡng t_s cho
chuyển cảnh từ từ

• Nếu khoảng cách vượt ngưỡng t_c => đó chính là điểm chuyển cảnh.
• Nếu khoảng cách vượt ngưỡng t_s => đó có thể là điểm chuyển cảnh
từ từ.
• Lấy frame tại điểm này để tham chiếu, tính khoảng cách của các

frame phía sau với frame này, nếu vượt qua t_c thì frame phía sau đó
là điểm chuyển cảnh
• Chọn t_c, t_s thế nào:
5


o t_c: lấy trung bình 2% các giá trị lớn nhất của khoảng cách.
o t_s: lấy trung bình 10% các giá trị lớn nhất của khoảng cách
• Tính đến bao nhiêu frame sau frame được tham chiếu:
o 24 frame
2.3.2. Adaptive Threshold (ngưỡng thích nghi)
• Chọn ngưỡng thích nghi dựa trên các khoảng cách lân cận.
• Ngưỡng tại 1 điểm: a* (trung bình khoảng cách tại các điểm lân cận của nó
và chính nó) + b*(một mức tăng)
• Chọn bao nhiêu điểm lân cận:
o Ở đây chọn 2 điểm trước, 2 điểm sau, và chính nó là 5
• Chọn mức tăng là bao nhiêu:
o Mức tăng nếu cố định sẽ không phù hợp với các video khác nhau =>
chọn theo thông số toàn cục
o Sau khi thống kê với standard deviation, mean, median trên toàn cục,
nhóm chọn standard deviation làm mức tăng
 Ngưỡng = a*trung bình cục bộ + b*độ lệch chuẩn toàn cục

Hình bên trên thể hiện các tính ngưỡng, đường màu xanh là giá trị khoảng
cách, đường màu đỏ là giá trị ngưỡng, tương ứng mỗi điểm có 1 ngưỡng cho nó.
Hệ thống tự động chọn các giá trị a=2, b=1: Giá trị được thống kê khá tốt trên
nhiều video
Tuy nhiên, có thể điều chỉnh theo giá trị mong muốn.

2.4. Tìm key frame

Từ các điểm chuyển cảnh ở trên, tìm ra được các frame đầu và frame cuối
mỗi shot.
Key frame được chọn là frame ở giữa shot đó.

6


3. Cách lưu dữ liệu
Các keyframe, frame đầu và frame cuối mỗi shot và đoạn shot sẽ được trích
rút ra và được lưu vào trong thư mục /home/{user}/video_database/{ten_video}
trong Linux, chúng em chưa làm trên window.
Ví dụ: /home/oanhnt/video_database/anni001

III. Kết quả cài đặt
1. Kết quả minh họa
Ở đây lấy ở 2 video khác nhau: 1 video bóng đá và một video về phi hành
gia. Chúng em test trên nhiều video nhưng do giới hạn báo cáo, nên chỉ đưa một
vài minh họa

1.1.Twin comparison.
Một vài kết quả tốt

Một vài kết quả kém:

1.2. Adaptive threshold
Một vài kết quả tốt

7



Một vài kết quả kém

2.Phân tích đánh giá kết quả
Đánh giá kết quả trên 10 video từ các trang Youtube, />Twin Comparison:
t_c = trung bình 2% các khoảng cách lớn nhất
t_s = trung bình 10% các khoảng cách lớn nhất
Độ chính xác : 51,7%
Độ phủ: 84,8%
Adaptive Threshold:
Chọn a = 2, b =1 hay:
Ngưỡng = 2*trung bình cục bộ + độ lệch chuẩn toàn cục
Độ chính xác: 55,3%
Độ phủ: 82.7 %
Khi thực hiện test trên nhiều video khác nhau, chúng em thấy việc phát hiện
các chuyển cảnh đột ngột của 2 video là tương đối tốt, các chuyển cảnh dần dần thì
tùy từng video hoặc các đoạn trong video mà các twin comparison hoặc adaptive
threshold tốt hơn. Tuy nhiên, nếu lấy trung bình thì adaptive sẽ thường tốt hơn.
Với hai tham số a, b được sử dụng trong bước tính khoảng cách
8


• Nếu như ta tăng a,b lên thì số shot được cắt sẽ ít hơn, thời lượng shot nhiều
hơn và trong 1 shot chứa nhiều shot khác
• Nếu như ta hạ a,b xuống thì số shot được cắt sẽ nhiều hơn, thời lượng shot
ngắn hơn.
Không thực sự có cách nào trong 2 cách hoàn hảo cho tất cả video,
• đối với adaptive thì chọn các tham số a và b hợp lý có thể điều chỉnh
được độ chính xác.
• Đối với twin thì thay đổi các tham số t_c, t_s theo số % khoảng cách
tính trung bình.


IV.Kết luận
Trong quá trình học tập môn học cơ sở dữ liệu đa phương tiện, cô Nguyễn
Thị Oanh đã tận tình giảng dạy chúng em, cung cấp cho chúng em kiến thức để
hoàn thiện bài tập lớn nói riêng và cung cấp kiến thức cơ sở dữ liệu đa phương
tiện nói chung.Do còn thiếu kiến thức, cũng như kỹ năng nên bài tập còn nhiều
hạn chế. Mong nhận được sự góp ý của cô và các bạn!
Chúng em chân thành cảm ơn!
Nhóm sinh viên thực hiện

9


Tài liệu tham khảo
[1] Nguyễn Thị Oanh – Slide hệ cơ sở dữ liệu đa phương tiện.
[2] />
10



×