Chƣơng này giới thiệu về cơ sở lý thuyết về các phƣơng pháp so sánh hình ảnh, đồng thời tìm hiểu về các loại camera, cách thiết lập, triển khai trong thực tế, các phƣơng thức cấu hình, điều khiển camera… làm nền tảng cho việc xây dựng mô hình hệ thống và xây dựng giải pháp chi tiết nhằm giải quyết bài toán đƣợc đề cập ở chƣơng 2.
27
CHƢƠNG II: GIẢI PHÁP ĐỀ XUẤT 1. Giải pháp kiến trúc hệ thống
Ta sẽ phân tích những yêu cầu của hệ thống để lựa chọn mô hình phù hợp nhất để giải quyết bài toán. Hệ thống tập trung vào việc đáp ứng các yêu cầu chính sau:
Đảm bảo các yêu cầu xử lý mã hóa, nén và truyền tín hiệu thu đƣợc từ camera để tạo ra các luồng tín hiệu phù hợp cho nhiều loại thiết bị khác nhau nhƣ máy tính, điện thoại, tablet…và truyền các tín hiệu đã đƣợc xử lý qua mạng máy tính/mạng internet thông qua các giao thức phổ biến nhƣ RTSP (Real-time Streaming Protocol) hay HTTP Live Streaming (HLS) để cho phép các thiết bị nhƣ máy tính, điện thoại, tablet… có thể xem đƣợc các luồng tín hiệu nhận đƣợc từ camera, đồng thời, hệ thống cũng cần cung cấp các dịch vụ ghi hình, lƣu trữ, chụp ảnh các luồng tín hiệu camera phục vụ cho các hoạt động giám sát sử dụng camera.
Có cơ chế lƣu trữ, dự phòng, đảm bảo an toàn dữ liệu và phân quyền đối với luồng tín hiệu, video/hình ảnh đƣợc lƣu trữ.
28
Hình 4: Mô hình kiến trúc hệ thống camera cảnh báo giám sát
Trong đó:
Live transcoder – Đƣợc sử dụng để chuyển đổi luồng tín hiệu thu nhận đƣợc từ camera (Ví dụ: HTTP, RTSP, UDP…) sang các luồng hoặc file phù hợp để sử dụng cho các thiết bị khác nhau.
Viettel Streaming Server (VTSS) – Đƣợc sử dụng để cung cấp các nội dung đa phƣơng tiện (cả xem live và xem video theo yêu cầu) đƣợc yêu cầu bới ngƣời dùng bằng cách sử dụng các giao thức nhƣ RTP/RTSP. Hệ thống này cung cấp khả năng hỗ trợ đa nền tảng trên nhiều thiết bị khác nhau với nhiều phiên bản hệ điều hành phổ biến nhƣ các thiết bị Windows, Mac, Linux hay các thiết bị điện thoại android, windows phone, iOS….
Các đặc điểm
VTSS sẽ cung cấp các giải pháp truyền thông đa phƣơng tiện với các đặc điểm nổi bật nhƣ:
Chuyển đổi các file đẩu vào thành nhiều định dạng khác nhau để có thể xem đƣợc trên thiết bị hoặc tải về:
29
Đối với video VTSS hỗ trợ các định dạng cơ bản sau: o .3gp (h263 + amr)
o .mp4 (h264 low level + acc) o .mp4 (h264 high level + acc) o . mp4 (mp4 + acc)
Với audio: o .acc o .amr o .mp3
Live encoding nhận các luồng tín hiệu phát ra từ các thiết bị camera và mã hóa chúng bằng kỹ thuật số, đóng gói chúng thành 1 định dạng phù hợp sau:
o 3GP RTP stream o H264 RTP stream o MP4 RTP stream o H264 TS file o ISMV file
VTSS hỗ trợ xử lý đối với cả video và luồng live.
Hệ thống mã hóa
30
Hình 5: Mô hình hệ thống live transcoder
Các bộ Live transcoder thu nhận tín hiệu đầu vào từ các thiết bị camera và chuyển thành các luồng live hoặc các file để streaming server phân phối đến cho ngƣời dùng. Live transcoder bao gồm 1 module chính để encode (transcoding - chịu trách nhiệm chuyển mã luồng tín hiệu đầu vào) và module tƣơng tác với cơ sở dữ liệu (hoạt động nhƣ 1 giao diện giữa module chuyển mã và cơ sở dữ liệu). Mỗi live transcoder chỉ mã hóa đƣợc 1 tín hiệu đầu vào và loại luồng tín hiều đầu ra tƣơng ứng.
Sự tƣơng tác của live transcoder với các hệ thống khác:
- Database: live transcoder tƣơng tác với cơ sở dữ liệu thông qua service API
đƣợc tích hợp để xác định tín hiệu đầu vào và định dạng luồng tín hiệu đầu ra.
- LiveCamera signal source: live transcoder nhận tín hiệu đầu vào từ luồng
tín hiệu camera.
- Monitor: Do thực hiện chuyển mã thời gian thực nên live transcoder chịu
ảnh hƣởng bởi nhiều yếu tố nhƣ tốc độ truyền dữ liệu của luồng đầu vào, mất gói tin, do vậy nó cần đƣợc giám sát và tự khởi động lại khi monitor phát
31 hiện ra 1 lỗi ở luồng đầu ra.
- Server chạy live transcoder cần đƣợc kết nối mạng với nguồn tín hiệu đầu vào, các hệ thống streaming phụ khác
Mở rộng live transcoder
Trong bài toán thực tế, số lƣợng các camera lớn, yêu cầu chất lƣợng tín hiệu camera ổn định và liên tục, không gây gián đoạn trong quá trình giám sát là một trong những yêu cầu hàng đầu, do vậy cần mở rộng live transcoder để đáp ứng đƣợc các hệ thống lớn với nhiều camera.
Có thể mở rộng mô hình live transcoder để phục vụ các hệ thống lớn, phải tiếp nhận và xử lý đồng thời nhiều luồng tín hiệu đầu vào liên tục nhƣ sau:
32
Hình 6: Mở rộng Live Transcoder
- Đánh giá: Mô hình hệ thống cơ bản đã đáp ứng đƣợc yêu cầu chính là cung
cấp luồng đa phƣơng tiện cho khách hàng, ngoài ra mô hình này cũng đảm bảo quyền riêng tƣ và tính bảo mật cho hệ thống thông qua việc mã hóa các
33
request do client gửi đến streaming server, đồng thời thiết lập thời gian sống (life time) của các yêu cầu… nhằm bảo vệ máy chủ khỏi các tấn công DDoS hoặc trong trƣờng hợp1 ngƣời dùng cố ý chia sẻ quyền truy cập hợp lệ của mình cho ngƣời dùng khác.
2. Giải pháp phát hiện sự kiện bất thƣờng 2.1 Giải pháp chi tiết 2.1 Giải pháp chi tiết
Để giải quyết bài toán phát hiện sự kiện bất thƣờng tại vùng giám sát, ta sẽ thực hiện theo các bƣớc nhƣ sau:
Bước 1: Tạo vùng mẫu giám sát
Hình 7: Ảnh vùng mẫu giám sát
Bước 2: Chụp tín hiệu từ camera
34
o Resize ảnh dƣới dạng ma trận 8x8 (true color image). Hình dƣới đây ảnh đã đƣợc resize với kích thƣớc 256x256 để cung cấp góc nhìn trực quan hơn do ảnh kích thƣớc 8x8 rất nhỏ.
Hình 8: Ảnh sau resize (kích thước 256x256)
o Convert ảnh sau khi resize sang ảnh đa mức xám
Hình 9: Ảnh sau khi chuyển đổi sang ảnh đa mức xám
o Lấy giá trị trung bình của màu sắc và danh sách tất cả các màu sắc của tất cả các điểm ảnh. Với ảnh mẫu phía trên, giá trị trung bình của các điểm ảnh là 48.
35
o Chuyển về mảng nhị phân để so sánh, mảng nhị phân đƣợc xây dựng nhƣ sau: Nếu điểm ảnh có giá trị màu sắc > màu trung bình (48) thì giá trị bit trả về là 1.
Bước 4: So sánh ảnh chụp từ tín hiệu camera với vùng mẫu bằng cách sử
dụng hàm khoảng cách Hamming nhằm mục đích phát hiện các sự kiện bất thƣờng, xây dựng ngƣỡng cảnh báo dựa trên giá trị hàm khoảng cách Hamming (d).
Đánh giá: Phƣơng pháp đối sánh nhƣ đã trình bày ở trên là phƣơng pháp đơn giản,
đảm bảo đƣợc thời gian cảnh báo thời gian thực tuy nhiên phƣơng pháp này phụ thuộc rất nhiều vào mẫu giám sát và chƣa xử lý lọc nhiễu (lọc nhiễu nhằm đảm bảo tránh các điều kiện ngoại cảnh ảnh hƣởng đến chất lƣợng tín hiệu camera gây ra những cảnh báo không chính xác, ví dụ trong điều kiện thời tiết xấu có sƣơng mù…). Do vậy cần thực hiện một số cải tiến để tăng tính chính xác của cảnh báo nhƣ: Cập nhật vùng mẫu giám sát thời gian thực, lọc nhiễu (nhiễu muối tiêu, tránh sƣơng mù, điều kiện quan sát ánh sáng không ổn định…).
36
2.2 Các cải tiến nhằm tăng độ chính xác cảnh báo
Để cải thiện độ chính xác của các cảnh báo, ta sẽ áp dụng các phƣơng pháp cập nhật vùng mẫu giám sát (thời gian thực) và lọc nhiễu để giảm tác động của ngoại cảnh, chi tiết giải pháp nhƣ bên dƣới.
2.2.1 Cập nhật vùng giám sát (thời gian thực)
Mẫu đƣợc cập nhật theo thời gian thực bằng cách lấy trung bình của các điểm ảnh của mẫu.
Cách xác định: tại thời điểm t
Bước 1: Xác định ma trận điểm ảnh trung bình
o Thông tin đầu vào:
Ảnh mẫu giám sát x.
Ảnh trung bình ở thời điểm t-1 (x1): Nếu chƣa có ảnh trung
bình thì thực hiện khởi tạo bằng cách dùng ảnh mẫu x. o Xác định mã màu trong ma trận điểm ảnh của x1
o Ảnh từ luồng tín hiệu hiện tại (x2): Xác định mã màu trong ma trận điểm ảnh của ảnh x2
o Xây dựng ma trận ảnh trung bình (A) bằng cách lấy trung bình các điểm ảnh của x1 và x2
Bước 2: Xây dựng lại ảnh mẫu từ ma trận ảnh trung bình
o Tạo ảnh mẫu từ ma trận điểm ảnh A
Bước 3: Quyết định cập nhật mẫu
Điều kiện cập nhật mẫu:
o Ảnh trung bình có độ sai khác so với ảnh mẫu cũ không quá ngƣỡng cho phép (ngƣỡng (T) đƣợc xác định theo khoảng cách Hamming và cấp độ cảnh báo 1,2, 3 (tƣơng ứng giá trị khoảng cách (d) tƣơng ứng)
37
Ví dụ: cấp 1: d<3 => Nếu d < T (T=3) thì cho phép cập nhật mẫu
Trong đó: ảnh vùng mẫu: 1_2_a.jpg, ảnh tín hiệu thu đƣợc tại thời điểm giám sát 1_2_b.jpg, ảnh trung vị 1_2_md.jpg
2.2.2 Lọc nhiễu
Sử dụng bộ lọc trung vị (mục đích để lọc nhiễu đốm + muối tiêu - liên quan đến thời tiết ~ mƣa, trời tối, nhiễu do thời tiết để tăng độ chính xác cảnh báo), sử dụng cửa sổ 3x3 di chuyển khắp mặt phẳng ảnh, điểm trung tâm của cửa sổ sẽ ứng với điểm ảnh đƣợc lọc, giá trị của điểm ảnh này sẽ đƣợc thay thế bằng trung vị của chuỗi số là tập các giá trị thuộc cửa sổ.
v([m,n]) = median { u[m-k,n-l], (k,l) c a sổ
Trung vị của chuỗi số có 2n+1 số là số nằm giữa các số khác nếu chuỗi số đƣợc sắp xếp theo thứ tự theo thứ tự tăng dần hoặc giảm dần. Nếu trƣờng hợp có 2n số thì trung vị sẽ là trung bình cộng của hai số trung tâm.
Áp dụng thuật toán lọc trung vị theo hai bƣớc sau:
Bước 1: Sắp xếp các phần tử ảnh thuộc cửa sổ theo thứ tự tăng dần hoặc giảm
dần.
Bước 2: Chọn ra phần tử trung vị (có chỉ số n2/2 + 1) rồi thay thế giá trị điểm ảnh trung tâm của cửa sổ bằng giá trị trung vị đó, riêng đối với giá trị trên biên thì giữ nguyên giá trị.
Ví dụ: 75 67 68 73 194 101 86 99 133 67 68 73 75 86 99 101 133 194 75 67 68 73 86 101 86 99 133 Trung vị Sắp xếp Thay thế
38
Đánh giá: Lọc trung vị là lọc phi tuyến, chỉ hiệu quả với nhiễu muối tiêu còn
đối với nhiễu Gaussian thì không. Khi số điểm nhiễu trong cửa sổ chiếm hơn một nửa thì hiệu quả nhiễu sẽ giảm đi nhiều.
3. Tổng kết chƣơng
Chƣơng này đề cập đến chi tiết bài toán cần giải quyết, đề xuất mô hình triển khai hệ thống, diễn giải chi tiết các bƣớc áp dụng cơ sở lý thuyết tại chƣơng 1 để giải quyết bài toán … đây cũng là nền tảng cho việc phân tích và thiết kế hệ thống camera cảnh báo giám sát đƣợc đề cập tại chƣơng 3.
39
CHƢƠNG III: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 1. Mô tả ca sử dụng
1.1 Các tác nhân của hệ thống
Hệ thống camera cảnh báo giám sát gồm có 4 tác nhân chính sau
Nhân viên bảo vệ kho
Là ngƣời dùng phụ trách việc giám sát
kho tại một khu vực/vị trí giám sát nhất định, đƣợc tổ chức thành các nhóm phụ trách. Có tài khoản đăng nhập và có chịu trách nhiệm đảm bảo an toàn tại vùng giám sát đƣợc phân công, trong hệ thống, ngƣời dùng NV có quyền xem màn hình giám sát, xem hình ảnh video đƣợc camera ghi lại với các camera đƣợc phân quyền.
Tổ trƣởng
Là cán bộ quản lý các nhóm giám sát (1 nhóm gồm nhiều nhân viên giám sát, mỗi nhóm phụ trách đảm bảo an ninh cho một khu vực đƣợc phân công), có tài khỏan đăng nhập vào hệ thống, đƣợc phân quyền xem tất cả màn hình giám sát, hình ảnh/video camera đƣợc ghi lại đối với tất cả các camera giám sát mà nhóm quản lý.
STT Tác nhân
1 Nhân viên bảo vệ kho (NV) 2 Tổ trƣởng (TT)
3 Lãnh đạo đơn vị (LĐ) 4 Quản trị hệ thống (QTHT):
40
Lãnh đạo đơn vị
Là ngƣời dùng cán bộ quản lý cấp cao (bao gồm cán bộ quản lý các cấp công ty, tổng công ty, tập đoàn). Ngƣời dùng có tài khoản đăng nhập vào hệ thống, có quyền quản lý tất cả các màn hình camera giám sát, hình ảnh/video đƣợc camera ghi lại đối với tất cả các camera do đơn vị quản lý.
Nhân viên quản trị hệ thống
Là ngƣời dùng có quyền cao nhất trong hệ thống, có toàn quyền tác động vào hệ thống, quản lý tất cả thông tin camera, các thông tin cấu hình hệ thống, có trách nhiệm đảm bảo an toàn và vận hành ổn định cho hệ thống.
1.2 Biểu đồ use case
Biểu đồ use case tổng quát của hệ thống nhƣ sau:
Hình 11: Biểu đồ usecase tổng quát
Dƣới đây là một số use case chính của hệ thống bao gồm usecase module quản lý giám sát và usecase module quản trị hệ thống.
41
Biểu đồ use case các module Quản trị hệ thống
Hình 12: Biểu đồ use case quản trị hệ thống
Use case các module quản lý giám sát
42
Chi tiết mô tả một số ca sử dụng chính của hệ thống nhƣ sau: Tên ca sử
dụng
Xem chi tiết màn hình camera giám sát
Tóm tắt Ngƣời quản lý truy cập vào chức năng quản lý giám sát, hệ thống hiển thị chi tiết giao diện tƣơng tác cho phép ngƣời dùng thực hiện các thao tác giám sát camera nhƣ: Xem danh sách/chi tiết màn hình giám sát camera. Hệ thống hiển thị kết quả thực hiện thao tác tƣơng ứng của ngƣời dùng
Tác nhân Nhân viên quản lý camera (Nhân viên quản lý kho, Tổ trƣởng, Lãnh đạo đơn vị)
Cấp độ 2 Điều kiện trƣớc
Nhân viên quản lý camera đã đăng nhập thành công vào hệ thống
Mô tả + Chức năng phép nhiều ngƣời dùng (ở vị trí, cấp quản lý khác nhau) có thể xem màn hình camera giám sát với nhiều tùy chọn khác nhau nhƣ xem các màn hình camera giám sát dƣới dạng lƣới, cho phép chọn số lƣợng camera để xem trực tiếp trên màn hình giám sát và cho phép ngƣời quản lý xem chi tiết 1 màn hình camera cụ thể
Kịch bản + Ngƣời dùng quản lý chọn chức năng xem màn hình camera giám trên sát hệ thống.
+ Hệ thống hiển thị màn hình giám sát của các camera thuộc quyền quản lý của ngƣời dùng hiện tại.
CF#1 Hệ thống trả về thông tin tín hiệu camera ngƣời dùng quan tâm
Tên ca sử dụng
Ghi video/chụp hình camera
Tóm tắt Ngƣời quản lý thực hiện ghi hình/chụp ảnh tại màn hình chức năng xem chi tiết camera giám sát. Hệ thống xử lý lƣu video/hình ảnh và
43
thông báo kết quả thực hiện thao tác tƣơng ứng của ngƣời dùng
Tác nhân Nhân viên quản lý camera (Nhân viên quản lý kho, Tổ trƣởng, Lãnh đạo đơn vị)
Cấp độ 2 Điều kiện trƣớc
Nhân viên quản lý camera đã đăng nhập thành công vào hệ thống
Mô tả + Cho phép nhân viên quản lý ghi lại video camera giám sát, chụp lại hình ảnh từ camera giám sát để xem lại.
Ngoại lệ + Ngƣời dùng không có quyền thao tác => Hiển thị trang giới hạn quyền.
+ Ngƣời dùng thao tác thất bại => Hiển thị trang lỗi, yêu cầu thực hiện lại
+ Hết phiên thao tác (session Timeout) => Yêu cầu đăng nhập lại Kịch bản + Ngƣời dùng chọn chức năng thao tác ghi hình/chụp ảnh tín hiệu
camera trên giao diện chi tiết giám sát camera
+ Hệ thống xử lý ghi lại luồng tín hiệu camera tƣơng ứng với trạng thái camera ở thời điểm quan sát dƣới dạng ảnh chụp màn hình giám sát/video ghi lại màn hình và thông báo kết quả ghi hình/chụp ảnh tín hiệu cho ngƣời dùng. (thành công/thất bại)
CF#1 Hệ thống lƣu trữ thông tin cấu hình camera, ghi lại hình ảnh/video camera và thông báo kết quả cho ngƣời dùng
Tên ca sử dụng
Điều khiển camera giám sát