Ứng dụng xử lý ảnh để tính lưu lượng xe lưu thông trên đường Ứng dụng xử lý ảnh để tính lưu lượng xe lưu thông trên đường Ứng dụng xử lý ảnh để tính lưu lượng xe lưu thông trên đường Ứng dụng xử lý ảnh để tính lưu lượng xe lưu thông trên đường
Trang 1TÓM TẮT
Ngày nay dân số và số lượng phương tiện của các thành phố đang tăng lên từng ngày, ùn tắc giao thông thường xuyên xảy ra Vì vậy nhu cầu kiểm soát mật độ phương tiện trên các tuyến đường là hết sức quan trọng Đề tài này đã xây dựng một hệ thống phát hiện và tính lưu lượng xe lưu thông trên đường dùng xử lý ảnh với dữ liệu ngõ vào
là các video thu được từ camera hoặc máy ảnh đặt trên đường Phương pháp thực hiện
là trừ nền, xử lý hình thái, phát hiện xe và tính số xe phát hiện được Đầu tiên, sử dụng
mô hình Gaussian hỗn hợp để trừ nền, chuyển ảnh màu thành ảnh nhị phân trong đó xe
là các đốm trắng và nền đường là đen Sau đó sử dụng phép xử lý ảnh hình thái để tô đầy các xe thành khối màu trắng thống nhất đồng thời loại bỏ các thành phần không mong muốn Kết quả thu được là ảnh nhị phân hoàn chỉnh Cuối cùng sử dụng thuật toán dán nhãn để dán nhãn và đếm số lượng xe
Kết quả mô phỏng trên phần mềm Matlab cho thấy phương pháp này tính toán số lượng xe khá chính xác trong trường hợp góc quay camera gần và đủ rõ Việc xác định chính xác lưu lượng xe lưu thông trên một tuyến đường sẽ góp phần quan trọng trong việc đưa ra cảnh báo về mật độ phương tiện, từ đó cải thiện tình trạng ùn tắc giao thông
ở các đô thị hiện nay
Trang 2ABSTRACT
Nowadays, the population and number of vehicles in the big cities are increasing day by day, so traffic jams often occur Therefore, controlling the density of vehicles on the roads is very important This thesis has developed a system to detect and count circulating traffic flow on the road using image processing, in which video data is obtained from cameras placed on the road In this project, methods are background subtraction, morphological operation, vehicle detection and vehicle counting First, Gaussian mixture model for background subtraction is used to transfer color picture into binary image, in which vehicles are white spots and roads are black After that, the morphological operation is employed to fill the white car into an unified block and it is removed unwanted components to produce a complete binary image Finally, the labeling algorithm is applied for labeling and counting the number of vehicles
Simulation results in Matlab software show that proposed method is quite accurate in the case of close, clear camera angles The accuracy of vehicle traffic flow detection will contribute significantly in making warnings about the density of vehicles and improving traffic congestion in urban areas
Trang 3MỤC LỤC
Trang tựa
Quyết định giao đề tài
Lý lịch cá nhân i
Lời cam đoan ii
Cảm tạ iii
Tóm tắt iv
Mục lục vi
Danh sách các chữ viết tắt ix
Danh sách các hình x
Danh sách các bảng xi
1.1 Tổng quan về lĩnh vực nghiên cứu, các kết quả nghiên cứu trong và ngoài nước đã
Trang 42.2 Theo dõi đối tượng 10 2.2.1 Các thành phần trong xây dựng hệ thống theo dõi đối tượng 10 2.2.2 Các bước chính cần thực hiện trong hệ thống theo dõi đối tượng 12
Trang 6DANH SÁCH CÁC CHỮ VIẾT TẮT
GMM: Gaussian Mixture Model
BG: Background
FG: Foreground
EM: Expectation Maximization
ROI: Region of Interest
RGB: Red Green Blue image
Trang 7DANH SÁCH CÁC BẢNGBẢNG TRANG
Bảng 1.1: Phân loại các thuật toán phát hiện đối tượng 2 Bảng 1.2: Phương pháp trừ nền và phân tích hiệu suất 5
Bảng 4.1: Tập các nhãn thu được sau lần duyệt đầu tiên 40
Bảng 5.1: Đánh giá kết quả chạy mô phỏng 58
Trang 8DANH SÁCH CÁC HÌNH
Hình 2.4: Theo dõi vi phạm giao thông qua camera 11
Hình 2.5: Các bước cần thực hiện trong quá trình theo dõi tự động 12
Hình 3.1: Kết quả trừ khung với các mức ngưỡng khác nhau 15
Hình 3.2: Ảnh nền và kết quả trừ nền trung bình chạy 17
Hình 4.1: Phép xử lý hình thái cho ảnh giao thông với 2 xe di chuyển trên đường 26
Trang 9Hình 4.14: Kết quả đếm đúng 2 xe 36
Hình 4.17: Ảnh gốc trước khi áp dụng thuật toán 39
Hình 5.5: Các phép xử lý hình thái cho kết quả sai 47
Hình 5.6: Các phép xử lý hình thái cho kết quả đúng 48
Hình 5.7: Xử lý hình thái và kết quả đếm tương ứng 49
Hình 5.8: Xử lý hình thái và kết quả đếm tương ứng 51
Hình 5.9: Một vài kết quả xử lý hình thái khác 52
Hình 5.10: (a), (b) ảnh cần xử lý; (c), (d) là ảnh đã được loại bỏ các đốm nhỏ 53
Hình 5.11: Phát hiện đối tượng với ngưỡng khác nhau 54
Hình 5.13: Kết quả dán nhãn và đánh dấu hộp biên 56
Hình 5.14: Sơ đồ khối đếm tổng số xe cho nhiều khung trong video; xn và xn-1
lần lượt là số xe đếm được của khung hiện tại và khung liền kề trước đó 57
Trang 10Chương 1
TỔNG QUAN
1.1 Tổng quan về lĩnh vực nghiên cứu, các kết quả nghiên cứu trong và ngoài nước
đã công bố
1.1.1 Tổng quan về lĩnh vực nghiên cứu
Việc theo dõi trực tiếp bằng các thiết bị theo dõi hiện đại (camera) là một trong những chủ đề được phát triển và nghiên cứu rất nhiều trong những năm gần đây Dựa vào sự phát triển không ngừng của kĩ thuật xử lý hình ảnh đã giúp cho con người dễ dàng hơn trong việc triển khai các hệ thống theo dõi tự động thông minh hơn điển hình như
nó có phát hiện đối tượng chuyển động, phân loại đối tượng, bám đối tượng chuyển động, dự đoán các hành vi của đối tượng…Vì những lý do đó mà các hệ thống theo dõi được ứng dụng ngày một rộng rãi hiện nay trong nhiều lĩnh vực của đời sống xã hội
Một trong những hệ thống theo dõi được sử dụng khá phổ biến hiện nay là hệ thống theo dõi camera giao thông Hệ thống này có thể nhận về mật độ các phương tiện lưu thông trên một tuyến đường từ đó hệ thống sẽ đưa ra các tín hiệu cảnh báo cho các tài xế Điều này góp phần không nhỏ trong việc điều tiết giao thông, nhất là với tình hình giao thông của nước ta hiện nay
Việc phát hiện đối tượng chuyển động không chỉ giúp ích trong việc theo dõi các đối tượng chuyển động để phát hiện mật độ xe trên một hệ thống giám sát trực tiếp mà còn mang lại nhiều ứng dụng trong cuộc sống Các đối tượng được phát hiện nhờ những thông tin trong một khung ảnh Có rất nhiều hướng tiếp cận để giải quyết vấn đề trên sử dụng nhiều thuật toán và phương pháp khác nhau Theo nhóm tác giả Alper Yilmaz, Omar Javed và Mubarak Shah [1], họ đã phân loại các hướng tiếp cận này thành những loại như bảng 1.1
Trang 11Bảng 1.1: Phân loại các thuật toán phát hiện đối tượng
Point detectors
Moravec’s detector
Harris detector
Scale Invariant Feature Transform
Affine Invariant Point Detector
Trang 12tượng (foreground) chuyển động Ưu điểm của giải thuật này là đơn giản Để có thể tiếp cận theo hướng này thì ta cần phải xây dựng được mô hình nền (background) Có rất nhiều phương pháp xây dựng mô hình nền như: Anurag Mittal dùng adaptive kernel density estimation để xây dựng mô hình nền [2] Phương pháp này cho kết quả tốt tuy nhiên gặp khó khăn về không gian lưu trữ, tính toán phức tạp, tốc độ không đáp ứng thời gian thực Stauffer sử dụng Mixture of Gaussian [3] để xây dựng mô hình nền… Sau khi
đã phát hiện ra được các đối tượng chuyển động thì việc xác định xem những đối tượng này có đúng là những đối tượng ta cần phát hiện hay không cũng là một khó khăn lớn phải đối mặt
1.1.2 Một số kết quả nghiên cứu đã công bố
Năm 2009 Serap Kazan và Musa Balta [4] đã ước lượng mật độ giao thông sử dụng hệ thống quan sát máy tính thời gian thực Phương pháp được sử dụng là tìm sự khác nhau giữa 2 khung sau đó xử lý ngưỡng, chọn ngưỡng tối ưu để nhị phân ảnh Sử dụng phép xử lý hình thái để loại bỏ nhiễu và lấp đầy các khe hở Cuối cùng phương pháp tìm số thành phần kết nối lân cận được sử dụng để tính số xe trong ảnh nhị phân Phương pháp này cho kết quả tốt trong trường hợp góc quay của camera gần và rõ nhưng gặp thách thức khi camera đặt ở vị trí không thuận lợi
Năm 2012 G SalviAn [5] dựa trên phân tích Blob để tính xe tự động trong hệ thống giám sát giao thông Phương pháp thực hiện là trừ nền, phát hiện Blob, phân tích Blob dùng phương pháp k-means clustering, theo vết Blob và tính số phương tiện Hệ thống cho kết quả chính xác cao và đảm bảo tính thời gian thực Tuy nhiên hạn chế của
hệ thống này là chưa phân loại được xe (xe máy, xe tải, xe ôtô ) di chuyển trên đường
Năm 2012 Pejman Niksaz [6] đã nghiên cứu và thực thi hệ thống ước lượng mật
độ phương tiện trên đường cao tốc dùng xử lý ảnh Phương pháp nghiên cứu là chuyển ảnh RGB thành ảnh xám, tăng cường ảnh và xử lý hình thái Phương pháp này được thực thi trên phần mềm Matlab nên chi phí thấp nhưng vẫn cho kết quả chính xác ở tốc độ
Trang 13cao Ưu điểm của phương pháp này là không sử dụng cảm biến Tuy nhiên nhược điểm lớn nhất của nó là rất nhạy với ánh sáng
Năm 2013 P Srinivas và Y.L Malathilatha [7] cũng đã đề xuất để thực thi một
hệ thống đèn giao thông thông minh trong thời gian thực dùng xử lý ảnh Phương pháp thực hiện là trừ nền, cập nhật nền, phương pháp phát hiện biên và tính số phương tiện dùng thuật toán Moore-neighborhood Kết quả cho thấy phương pháp phát hiện biên Canny cho kết quả tốt hơn so với hai phương pháp phát hiện biên khác là Boolean và Marr-Hildreth
Năm 2015 Mrs Muth Sebastian, Anisha Ann Sam và một số cộng sự [8] cũng đã thảo luận phương pháp để giảm được tần suất tai nạn ở những đoạn đường quanh co bằng cách chỉ ra số lượng xe và tốc độ các xe đang đến gần trên màn hình Phương pháp được sử dụng là mô hình Gaussian hỗn hợp (GMM), lọc nhiễu cho mô hình GMM, phát hiện Blob, phân tích Blob, tính số phương tiện và tốc độ của nó Trong đó tốc độ được giám sát bằng cách phát hiện vị trí của xe di chuyển và vị trí điểm tham chiếu, giá trị này được so sánh với số khung đã biết trước Một số công trình nghiên cứu khác [9-10]
Qua những nghiên cứu đã trình bày ở trên ta có thể nhận thấy rằng hầu hết các bài báo đều phát hiện đối tượng (xe) bằng phương pháp trừ nền Phương pháp trừ nền được sử dụng nhiều vì nền (đường) trong camera giao thông thường là nền tĩnh Một số phương pháp trừ nền đã được Massimo Piccardi [11] tổng hợp lại như bảng 1.2
Trang 14Bảng 1.2: Phương pháp trừ nền và phân tích hiệu suất
1.2 Mục tiêu của đề tài
Mục tiêu của đề tài là xây dựng hệ thống tính lưu lượng xe trên một tuyến đường
từ camera giao thông, từ đó đưa ra cảnh báo về mật độ phương tiện, góp phần vào việc điều tiết giao thông, giảm tình trạng kẹt xe ở các đô thị hiện nay
1.3 Nhiệm vụ và giới hạn của đề tài
- Xử lý video không trực tuyến
- Chưa phân loại được xe
Trang 151.4 Phương pháp nghiên cứu
Phương pháp nghiên cứu tài liệu: thu thập thông tin tài liệu, sách báo điện tử liên quan đến lĩnh vực nghiên cứu, xử lý các thông tin cùng với việc quan sát và thực hiện
mô phỏng trên phần mềm Matlab
Trang 16Quá trình xử lý ảnh được xem như là quá trình thao tác ảnh đầu vào nhằm cho ra kết quả mong muốn Kết quả đầu ra của một quá trình xử lý ảnh có thể là một ảnh “tốt hơn” hoặc một kết luận [12]
- Công nghiệp tự động hóa: Công nghệ chế tạo rô-bốt, máy công nghiệp, sản xuất
- Xử lý ảnh y tế: Phân tích ảnh điện tâm đồ ECG- Electrocardiogram, điện não đồ EEG- Electroencephalogram, đo điện cơ EMG- Electromyography, phân tích ảnh X-quang và nhiều ứng dụng quan trọng khác
- Remote sensing: Nghiên cứu và quản lý tài nguyên thiên nhiên, kiếm soát ô nhiễm môi trường và các nghiên cứu khác
Trang 17- Kiểm soát tội phạm (Criminology): nhận dạng vân tay, đối sánh mặt người, giám định pháp y
- Ứng dụng trong khoa học vũ trụ: phân tích ảnh viễn thám
- Khí tượng học: dự báo thời tiết, xác định thay đổi thời tiết dựa vào ảnh thu nhận
từ vệ tinh, phân tích mẫu mây
- Công nghệ thông tin: truyền tín hiệu fax, hội thảo từ xa…Và nhiều ngành khoa học khác như giải trí, in ấn, nghệ thuật
2.1.3 Xử lý video
Video là một tập hợp các khung hình (frames) Mỗi khung hình là một hình ảnh, là đơn vị dữ liệu cơ bản nhất của video Video có thể được hiểu là một chuỗi các hình ảnh liên tiếp Để mắt người có thể cảm nhận được sự chuyển động của các hình ảnh thì các khung hình phải được phát liên tục với một tốc độ nhất định Thông thường, tốc độ đó là 25 hình/giây hoặc 30 hình/giây
Hình 2.1: Khung hình
Không gian độ xám chỉ có một thành phần, biến đổi từ đen đến trắng Không gian độ xám thường được sử dụng trong hiển thị và in trắng đen
Trang 18Hình 2.2: Thước đo độ xám
Một không gian màu là một mô hình đại diện cho màu về mặt giá trị độ sáng, một không gian màu xác định số thông tin màu được thể hiện Mỗi điểm ảnh trong khung hình (ảnh) có thể được coi là đại diện của một điểm trong không gian màu ba chiều Thông thường có các không gian màu: RGB, CMY, Munsell, CIE,HSV…bên cạnh các không gian màu này có không gian độ xám
Không gian màu RGB là không gian được sử dụng rộng rãi trong hiển thị hình ảnh Không gian này tạo ra các màu mà mắt người nhìn thấy và cảm nhận được từ ba màu cơ bản R (Red-đỏ), G (Greeen-xanh) và B (Blue-lam)
Hình 2.3: Không gian màu RGB
Trang 19Xử lý video được xem là một trường hợp đặc biệt của xử lý tín hiệu Trong đó, các tín hiệu đầu vào và đầu ra là các tệp video hay luồng video
2.1.4 Một số vấn đề cơ bản trong xử lý video
Video là do một chuỗi ảnh liên tiếp chuyển động tạo thành Để có thể truyền tải video, các thông tin và dữ liệu này được mã hóa Do đó, để có thể xử lý được các tín hiệu video bên cạnh việc xử lý các vấn đề khách quan như điều kiện ánh sáng, vị trí đặt camera… ta cũng cần quan tâm tới các vấn đề về tiêu chuẩn nén của video
Về cơ bản hệ thống xử lý video gần giống với hệ thống xử lý ảnh Tuy nhiên, do đặc trưng chuyển động của hình ảnh nên ta cần quan tâm tới các vấn đề:
- Xác định đối tượng, số lượng đối tượng có trong ảnh
- Xác định đối tượng chuyển động trong ảnh: các đối tượng dời đi hay chuyển tới, chuyển động đơn hay chuyển động trong đám đông
- Tách đối tượng từ một nhóm đối tượng chuyển động
- Tách đối tượng với bóng của nó
2.2 Theo dõi đối tượng
2.2.1 Các thành phần trong xây dựng hệ thống theo dõi đối tượng
Trong hệ thống theo dõi đối tượng, tất cả các thông tin về hình ảnh thu nhận được
từ camera hoặc hệ thống camera được truyền về trung tâm Tại đây, các thông tin sẽ được phân tích, xử lý để đưa ra các quyết định phù hợp Hệ thống theo dõi đối tượng với quy mô nhỏ hay lớn đều cần có:
Trang 20Hình 2.4: Theo dõi vi phạm giao thông qua camera
- Camera (hoặc hệ thống camera -với quy mô lớn): Trong hệ thống nhỏ có thể chỉ cần một camera Đối với các hệ thống lớn, ta có một hệ thống camera được đặt tại các khu vực cần quan sát Ví dụ: tại một tòa nhà ta cần đặt camera tại bãi đỗ
xe, tại sảnh, cầu thang (cầu thang bộ, cầu thang máy), tại các tầng…
- Màn hình theo dõi (hoặc hệ thống màn hình): Trên một màn hình có thể đặt tương ứng với một camera hoặc chia chế độ màn hình hiển thị với các phân vùng ứng với số lượng camera…
- Đầu ghi hình DVR độc lập ( hoặc card DVR cắm máy tính)
- Phòng điều khiển (giám sát): Tại đây đặt màn hình theo dõi của hệ thống Phòng
có bố trí nhân viên để phụ trách quản lý và điều hành hệ thống
Trang 212.2.2 Các bước chính cần thực hiện trong hệ thống theo dõi đối tượng
Hình 2.5: Các bước cần thực hiện trong quá trình theo dõi tự động
Để có thể xây dựng hệ thống theo dõi thông minh, bên cạnh việc thiết lập một hệ thống phần cứng phục vụ quá trình theo dõi, ta cần phát triển hệ thống phần mềm hỗ trợ quá trình xử lý Lược đồ trên (hình 2.5) đã chỉ ra các bước cơ bản cần thực hiện trong quá trình xây dựng phần mềm hỗ trợ theo dõi tự động
Trang 22
Chương 3
PHƯƠNG PHÁP TRỪ NỀN 3.1 Giới thiệu
Trong những ứng dụng về thị giác máy tính, vấn đề cơ bản nhất được đặt ra là làm thế nào để phát hiện được các đối tượng chuyển động trong video (foreground), làm thế nào để biết được đâu là những cảnh vật không thay đổi (background)… Để giải quyết được những vấn đề đã nêu ở trên thì ta dùng phương pháp trừ nền Đây là một trong những phương pháp nền tảng nhất trong lĩnh vực thị giác máy tính Có nhiều giải thuật khác nhau về trừ nền Các giải thuật này được chia thành hai nhóm là: phương pháp cơ bản và phương pháp cao cấp Trong giới hạn của luận văn này sẽ trình bày chi tiết về những giải thuật trừ nền sau đây:
Phương pháp cơ bản:
o Trừ khung (Frame Differencing)
o Trung bình chạy (Running Average)
o Trung vị chạy (Running Median)
Phương pháp cao cấp:
o Trung bình chạy Gaussian (Running Gaussian Average)
o Mô hình Gaussian hỗn hợp (Mixture of Gaussians)
Ý tưởng chung của các phương pháp trừ nền: để phát hiện ra được các đối tượng chuyển động trong video chúng ta phải có được mô hình nền Mô hình nền này có thể được học qua nhiều khung ảnh Sau đó ta sẽ dùng mô hình nền này để so sánh với khung ảnh hiện tại và kết quả là ta sẽ nhận biết được đâu là vùng nền, đâu là các đối tượng
Trang 233.2 Các phương pháp cơ bản
3.2.1 Trừ khung
Trong tất cả các phương pháp trừ nền thì phương pháp trừ khung được xem là phương pháp đơn giản nhất Chi phí tính toán thấp, tốc độ thực thi thuật toán nhanh Tuy nhiên kết quả đạt được khi ta áp dụng thuật toán này là tương đối thấp
Ý tưởng chính trong phương pháp trừ khung: các đối tượng chuyển động sẽ được phát hiện dựa trên sự khác biệt giữa hai frame ảnh liên tiếp nhau cùng với một ngưỡng được chọn trước Giải thuật trên được thực hiện bằng phương pháp trừ hai khung liên tiếp, đối với mỗi giá trị pixel kết quả ta so sánh giá trị tại pixel đó với ngưỡng đã được chọn Nếu giá trị này nằm trong ngưỡng cho phép thì tại đó ta xem như là nền Ngược lại là đối tượng [14]
Ưu điểm: Đơn giản và dễ thực hiện, tốc độ thực thi nhanh Tuy nhiên thuật toán
này chạy chính xác trong trường hợp các đối tượng di chuyển liên tục, nền trong video
là nền tĩnh
Khuyết điểm: Độ chính xác của thuật toán là tương đối thấp Thuật toán trên chỉ
xác định đối tượng chính xác đối với những điểm biên của đối tượng Đối với những điểm ảnh bên trong lòng đối tượng do sự dịch chuyển của những điểm ảnh này là không
Trang 24đáng kể do đó sẽ bị xem như là nền Trong trường hợp khi một đối tượng ngưng chuyển động trong một khoảng thời gian thì sẽ bị xem là nền
Trong phương pháp này ta sẽ thực hiện mô phỏng ở 3 ngưỡng khác nhau với giá trị ngưỡng Th lần lượt là 10, 50, 100 Kết quả trừ nền như hình 3.1
(a) ảnh gốc (b) ngưỡng Th=10
(c) ngưỡng Th=50 (d) ngưỡng Th=100
Hình 3.1: Kết quả trừ khung với các mức ngưỡng khác nhau Nhận xét: Kết quả trừ khung với các mức ngưỡng khác nhau cho thấy mô hình
chỉ làm việc hiệu quả trong một điều kiện cụ thể về tốc độ của vật thể và tốc độ khung
hình Đặc biệt nó rất nhạy với ngưỡng Th
3.2.2 Trung bình chạy
Trong phương pháp trừ khung đã đề cập ở trên Do việc xác định các đối tượng chỉ dựa vào sự khác biệt ở hai khung liên tiếp nhau Do vậy độ chính xác của thuật toán
Trang 25tương đối thấp Để khắc phục nhược điểm này thì phương pháp trung bình chạy đề ra hướng giải quyết là xây dựng nên mô hình nền Sau đó mô hình nền này được sử dụng
để tìm ra đối tượng Mô hình nền này được xây dựng bằng cách học qua n khung liên tiếp Giá trị pixel tại vị trí (x,y) của mô hình nền này được tính bằng cách lấy trung bình cộng của tất cả các giá trị pixel tại vị trí (x,y) của n khung đã học
B(x, y) = ∑ Fi(x,y)
𝑛 𝑖=1
trong đó:
B(x, y): giá trị pixel tại vị trí (x, y) của mô hình nền
Fi (x, y): giá trị pixel tại vị trí (x, y) của khung thứ i
n: tổng số khung học
Sau khi đã xây dựng được mô hình nền, việc xác định ra được đâu là đối tượng được thực hiện bằng cách so sánh từng khung ảnh với mô hình nền Dựa vào giá trị của ngưỡng đã được chọn trước tương tự như phương pháp trừ khung
Độ chính xác của thuật toán phụ thuộc vào mô hình nền Do đó để cải tiến thuật toán tốt hơn ta cập nhật mô hình nền qua từng bước chạy thuật toán
𝐵𝑖+1 = 𝛼 ∗ 𝐹𝑖+ (1 − 𝛼) ∗ 𝐵𝑖 (3.4) trong đó giá trị của thường được chọn là 0.05
Như vậy, mô hình nền sẽ được cập nhật liên tục sau mỗi khung Vì vậy sẽ giúp tăng độ chính xác của phương pháp Thực hiện trừ nền với số khung được học n lần lượt
là 100, 30, 15 ta được kết quả như hình 3.2
Ưu điểm: Độ chính xác của phương pháp cao hơn phương pháp trừ khung
Trang 26Khuyết điểm: Tốn chi phí trong khi học ra mô hình nền Thuật toán chỉ áp dụng
tốt đối với trường hợp nền tĩnh không thay đổi Phương pháp này chạy không tốt đối với
những video có nền chuyển động
(a) n=100 (b) kết quả trừ nền của ảnh gốc với (a)
(c) n=30 (d) kết quả trừ nền của ảnh gốc với (c)
(e) n=15 (f) kết quả trừ nền của ảnh gốc với (e)
Hình 3.2: Ảnh nền và kết quả trừ nền trung bình chạy
Trang 27Nhận xét: Mô hình nền sẽ phụ thuộc rất nhiều vào số khung n được học Số khung
càng lớn thì kết quả thu được càng chính xác Tuy nhiên số khung càng lớn thì tốc độ xử
lý càng chậm và tốn nhiều bộ nhớ để lưu trữ
3.2.3 Trung vị chạy
Tương tự như phương pháp trung bình chạy Bước đầu tiên của phương pháp
trung vị chạy là xây dựng ra mô hình nền qua quá trình học trên n khung Giá trị pixel tại vị trí (x, y) của mô hình nền được xây dựng bằng cách chọn ra giá trị trung vị của n khung tại vị trí (x, y)
Giá trị trung vị được xác định bằng cách sau:
Ví dụ, với một dãy frame từ F 1 tới F n , ta xét pixel ở vị trí (x, y) thì các giá trị F 1 (x, y), F 2 (x, y),…, F n (x,y) sẽ tạo thành một dãy giá trị của pixel (x, y) ứng với từng khung
ảnh
Bước đầu tiên ta xắp xếp dãy pixel này theo thứ tự tăng dần
Giá trị trung vị chính là phần tử nằm chính giữa của dãy pixel đã sắp xếp thứ tự Sau khi đã xây dựng được mô hình nền theo phương pháp trên thì những bước sau được thực hiện tương tự như thuật toán trung bình chạy Về cơ bản thì phương pháp trên gần giống với phương pháp trung bình chạy Tuy nhiên, phương pháp trung vị đòi hỏi chi phí lưu trữ và tính toán rất lớn Nếu trong phương pháp trung bình chạy, ta chỉ cần lưu lại tổng giá trị pixel tại một vị trí thì trong phương pháp trung vị chạy, ta phải lưu lại tất cả các giá trị của điểm ảnh tại mỗi khung
Kết quả thực hiện trừ nền với số khung được học n lần lượt là 100, 30, 15 như hình 3.3 Phương pháp này hầu như không khác so với phương pháp trung bình chạy
Ưu điểm: Độ chính xác cao hơn phương pháp trừ khung
Trang 28
(a) n=100 (b) kết quả trừ nền của ảnh gốc với (a)
(c) n=30 (d) kết quả trừ nền của ảnh gốc với (c)
(e) n=15 (f) kết quả trừ nền của ảnh gốc với (e)
Hình 3.3: Nền và kết quả trừ nền trung vị chạy
Trang 29Nhận xét: Phương pháp này cho kết quả hầu như không khác so với phương pháp
trung bình chạy Tuy nhiên nếu ta cân nhắc đến dung lượng bộ nhớ thì phương pháp này
ít hiệu quả hơn
3.3 Phương pháp trừ nền cao cấp
3.3.1 Trung bình chạy Gaussian (Gaussian đơn)
Phương pháp này do Wren, Azarbayejani, Darrell, Pentland đưa ra vào năm 1997 Phương pháp này đặt một phân phối Gaussian lên sự biến thiên giá trị của mỗi pixel trong đoạn video Ví dụ, với một dãy frame từ F1 tới Fn, ta xét pixel ở vị trí (x, y) thì các giá trị F1(x, y), F2(x, y), …, F n (x,y) sẽ tạo thành một dãy giá trị của pixel (x, y) ứng với
từng khung ảnh Bằng cách tính trung bình và phương sai của dãy pixel này ta xác định được pixel nền (giá trị trung bình) và ngưỡng (độ lệch nhân với một hằng số nào đó)
𝜇𝑡+1 = 𝛼 ∗ 𝐹𝑡 + (1 − 𝛼) ∗ 𝜇𝑡 (3.5)
𝜎𝑡+12 = 𝛼 ∗ (𝐹𝑡 − 𝜇𝑡)2+ (1 − 𝛼) ∗ 𝜎𝑡2 (3.6) Những pixel nào có giá trị nào thỏa |𝐹 − 𝜇| > 𝑡ℎ thì được xem là đối tượng th
có thể chọn bằng k𝜎
Ưu điểm: Phương pháp này khắc phục được nền có sự thay đổi theo thời gian
Ngoài ra nó còn xác định được ngưỡng cho từng điểm ảnh trên khung
Khuyết điểm: Dễ bị ảnh hưởng bởi độ sáng
3.3.2 Mô hình Gaussian hỗn hợp
Trong bối cảnh của hệ thống giám sát giao thông, Friedman và Russel đề xuất mô hình mỗi điểm ảnh nền sử dụng một hỗn hợp ba Gaussian tương ứng với đường, xe và bóng Mô hình này được khởi tạo bằng cách sử dụng thuật toán EM Sau đó, Gauss được thực hiện dán nhãn một cách phỏng đoán như sau: các thành phần đen nhất được dán
Trang 30đường Điều này vẫn đúng đối với tất cả các quá trình thiếu thích ứng với những thay đổi theo thời gian Để phát hiện tiền cảnh, mỗi điểm ảnh được so sánh với Gauss và được phân loại theo tương ứng Gaussian Việc duy trì được thực hiện bằng cách sử dụng thuật toán EM gia tăng để xem xét thời gian thực Stauffer và Grimson [3] khái quát ý tưởng này bằng cách mô hình các đặc trưng màu mỗi điểm ảnh {X1, , Xt} bởi một hỗn hợp K Gauss
Nguyên tắc:
Đầu tiên, mỗi điểm ảnh được đặc tả bằng cường độ của nó trong không gian màu RGB Tiếp theo, xác suất quan sát của giá trị điểm ảnh được xem xét bởi công thức trong trường hợp đa chiều như sau:
X P
1
, , , , ,
với các tham số: K là số lượng phân bố, i,t là trọng số tương ứng với Gauss thứ
ith ở thời điểm t với trị trung bình µi,t và độ lệch chuẩn i,t, là hàm mật độ xác xuất Gauss:
1 2 / 1 2 /2
1 ,
Vì lý do tính toán, Stauffer and Grimson [3] giả thiết rằng các thành phần màu RGB là độc lập và có cùng sự biến đổi Do vậy, ma trận hệ số có dạng:
,t 2,tI (3.9)
Với I là ma trận đơn vị Như vậy, mỗi điểm ảnh đặc tả bằng một hỗn hợp K Gauss
Mỗi mô hình nền được xác định, các tham số khác nhau của hỗn hợp Gauss phải được khởi tạo Các tham số của mô hình là số lượng K Gauss, trọng số i,t tương ứng với
Trang 31Gauss thứ ith ở thời điểm t, trị trung bình µi,t và ma trận hiệp phương sai i,t Trong đó K được Stauffer và Grimson đề xuất K từ 3 đến 5
Việc khởi tạo trọng số, trung bình và ma trận hiệp phương sai được thực hiện bằng cách sử dụng thuật toán EM Stauffer và Grimson sử dụng thuật toán K-mean để xem xét đối với thời gian thực
Một khi các tham số khởi được khởi tạo, phát hiện tiền cảnh đầu tiên có thể được thực hiện và sau đó các tham số được cập nhật Thứ nhất, Stauffer và Grimson đã sử dụng như tiêu chí tỷ lệ rj=j/j và thế cho Gaussian K theo tỷ lệ này Để hỗ trợ một điểm ảnh nền tương ứng với trọng số cao với một biến yếu do thực tế nền tăng hơn các đối tượng di chuyển và giá trị của nó là thực tế không đổi Các bản phân phối Gaussian B đầu tiên vượt quá ngưỡng nhất định T (xác suất nhỏ nhất mà nền xuất hiện) được giữ lại cho phân phối nền:
T t
X sqrt 1 , ,1 1 , ,
với k là hằng ngưỡng bằng 2.5 Tiếp theo, hai trường hợp có thể xảy ra:
Trường hợp 1: Một sự phù hợp được tìm thấy với một K Gauss Trong trường hợp này, phân bố Gauss được xác định thì nó là nền, điểm ảnh được phân loại là nền, ngược lại điểm ảnh được phân loại tiền cảnh
Trường hợp 2: Không có sự phù hợp được chỉ ra với bất kỳ K Gauss Trong trường hợp này, điểm ảnh được phân loại là tiền cảnh
Trang 32Cập nhật các thông số:
Ở bước này, mặt nạ nhị phân được thiết lập Vì đó, để tạo sự phát hiện tiền cảnh tiếp theo, các tham số phải được cập nhật Sử dụng điều kiện (3.11), hai trường hợp có thể xảy ra trong khi phát hiện tiền cảnh:
Trường hợp 1: Sự phù hợp được tìm thấy một K Gauss
- Đối với thành phần phù hợp, cập nhật được thực hiện như sau:
i,t+1 = (1-α)i,t + α (3.12) với α là hằng tốc độ học
µi, t+1 = (1-)µi,t + .Xt+1 (3.13)
T t t
t t
t
2 1
(3.14) với: = α(Xt+1, µi, i) (3.15)
- Đối với các thành phần không phù hợp, µ và không thay dổi, chỉ có trọng số được thay thế bằng:
j,t+1 = (1-α)j,t (3.16)
Trường hợp 2: Không có sự phù hợp được tìm thấy với bất kỳ K Gauss nào Trong trường hợp này một phân bố xác suất bé nhất k được thay thế bởi một tham số mới với k,t+1 là trọng số thấp trước đó, µk,t+1 = Xt+1 và 2
, 1
k t
được tăng lên Một khi việc duy trì các thông số được thực hiện, phát hiện tiền cảnh có thể được thực hiện và tiếp tục Mô hình Gaussian có những ưu điểm như nó có thể làm việc mà không cần phải lưu trữ một bộ quan trọng của dữ liệu đầu vào trong quá trình chạy Sự
đa dạng của mô hình cho phép nó thích nghi với nền đa phương thức và thay đổi dần dần của độ sáng
Trang 33Mặc dù vậy mô hình này còn có một số nhược điểm là số Gauss phải được xác định trước, cần thiết phải khởi tạo tốt, sự phụ thuộc của kết quả trên quy luật phân bố thực sự có thể là không Gauss và phục hồi lỗi chậm Những hạn chế khác như cần một loạt các bức ảnh đào tạo vắng mặt của đối tượng chuyển động và số lượng bộ nhớ cần thiết trong bước này
độ sáng
Mô hình Gaussian hỗn hợp với những ưu điểm được phân tích ở trên, đặc biệt nó còn hoạt động hiệu quả trong điều kiện ánh sáng môi trường thay đổi, các chuyển động lặp lại nên được dùng rộng rãi trong các thuật toán nhận dạng và theo dõi
Ở chương kết quả ta sẽ sử dụng mô hình Gaussian hỗn hợp này để tách các xe ra khỏi nền trong video thu được trong camera giao thông Đây là bước quan trọng làm tiền
đề để tính lưu lượng xe lưu thông trên đường của đề tài
Trang 34Hình thái học toán học đã được phát triển cho hình ảnh nhị phân, và sau đó được
mở rộng cho ảnh đa mức xám Đây là một trong những kỹ thuật được áp dụng trong giai đoạn tiền xử lý của ảnh Hai phép toán thường dùng là phép giãn ảnh (Dilation) và phép
co ảnh (Erosion) Từ hai phép toán cơ bản này người ta phát triển thành một số phép toán như phép đóng ảnh (Closing) và phép mở ảnh (Opening) [12]
Phép xử lý hình thái có nhiều ứng dụng khác nhau Trong đề tài này, sau khi ảnh các xe được tách ra khỏi nền bằng mô hình Gaussian hỗn hợp (ảnh nhị phân) như hình 4.1a thì mục đích của phép xử lý hình thái là để kết nối xe bị vỡ thành khối màu trắng thống nhất như hình 4.1c Trong hình 4.1b, xe A được đếm thành 3 xe, xe B được đếm thành 1 xe, tổng cộng ta đếm được 4 xe nên cho kết quả sai Sử dụng phép xử lý ảnh hình thái cho hình 4.1a ta thu được hình 4.1c Kết quả 2 xe này đã được đếm đúng thành
2 xe (hình 4.1d)
Trang 35(a) Ảnh nhị phân ngõ vào (b) Kết quả đếm của (a)
(c) Ảnh sau khi xử lý hình thái (d) Kết quả đếm của (c)
Hình 4.1: Phép xử lý hình thái cho ảnh giao thông với 2 xe di chuyển trên đường 4.1.1 Phép co ảnh
Xét một ảnh nhị phân A và một phần tử cấu trúc B (mặt nạ), phép co ảnh nhị phân của ảnh A bởi phần tử cấu trúc B được kí hiệu A⊖B và được viết dưới dạng công thức như sau:
A⊖B={Z|(B)z⊆A} (4.1)
Phép co ảnh nhị phân ảnh A với phần tử cấu trúc B là tập hợp các điểm Z (Z nằm
ở tâm điểm của phần tử cấu trúc B) sao cho BZ là tập con của A Phép co ảnh cho phép chúng ta thu nhỏ ảnh, loại bỏ cầu nối, phần nhô và phần thừa của nó Để thực hiện co ảnh ta thực hiện các bước như sau:
Trang 36 Xác định phần tử cấu trúc B và tâm của nó
Đặt tâm vào điểm ảnh cần xử lý, không xét các điểm có giá trị 0
Nếu tất cả các điểm ảnh của phần tử cấu trúc nằm hoàn toàn trong các điểm ảnh của ảnh nhị phân thì điểm tương ứng trên ảnh kết quả F= A⊖B sẽ là điểm ảnh với giá trị bằng 1 Ngược lại, điểm ảnh tương ứng trên ảnh kết quả F sẽ là điểm nền với giá trị bằng 0
Dịch chuyển tâm của phần tử cấu trúc B lần lượt qua từng điểm ảnh trên ảnh từ trái sang phải, từ trên xuống dưới và lặp lại các bước trên ta sẽ được ảnh kết quả
F hoàn chỉnh
Ví dụ 4.1: Xét một ảnh đầu vào nhị phân A, phần tử cấu trúc B Ta thực hiện phép co
ảnh giữa A và B theo các bước trên Kết quả thu được ảnh ngõ ra F= A⊖B như hình 4.2
Hình 4.2: Phép co ảnh Nhận xét: Ảnh ngõ ra F thu được đã có kích thước nhỏ hơn, chỉ còn 6 phần tử 1 trong hình 4.2c, Các phần nhỏ nhô ra trong ảnh ngõ vào A (các phần tử 1 trong hình
4.2a) đã được loại bỏ
Trang 37Phần tử cấu trúc trong phép xử lý hình thái có nhiều dạng Tuy nhiên trong đề tài này ta chỉ xét 2 dạng là phần tử cấu trúc vuông và phần tử cấu trúc đường Phần tử cấu trúc vuông ký hiệu là R[n], với R[n] là ma trận vuông bậc n chỉ gồm những phần tử
1 như hình 4.3a Phần tử cấu trúc đường ký hiệu là L(LEN, DEG) , với LEN là chiều dài của phần tử cấu trúc và DEG là góc lệch (độ) giữa nó và đường nằm ngang, được minh họa như hình 4.3b Phần tử cấu trúc ảnh hưởng rất nhiều đến ảnh ngõ ra Tuy theo ứng dụng mà ta chọn phần tử cấu trúc cho phù hợp
1 1 1
1 1 1[n]=