- Rút trích những đặc trưng của ảnh đầu vào và cho kết quả như mong muốn, thông qua việc sử dụng các phương pháp trong thư viện xử lý ảnh mã nguồn mở OpenCV: + Bộ lọc điểm ảnh Erosion, D
Trang 1LĨNH VỰC NGHIÊN CỨU: CÔNG NGHỆ THÔNG TIN
CHUYÊN NGÀNH: TRÍ TUỆ NHÂN TẠO
Mã số công trình: ………
Trang 2PHIẾU ĐĂNG KÝ DỰ THI GIẢI THƯỞNG SINH VIÊN NGHIÊN CỨU KHOA HỌC EURÉKA
LẦN THỨ 21 NĂM 2019
1 Tên công trình:
“Phát triển hệ thống bãi giữ xe ô tô tự động dựa trên kỹ thuật thị giác máy tính”
Đánh dấu chọn nếu công trình nghiên cứu từ những vấn đề gợi ý, đặt hàng của doanh nghiệp,
2 Lĩnh vực nghiên cứu: Công nghệ thông tin
3 Chuyên ngành đăng ký dự thi: Trí tuệ nhân tạo
4 Tóm tắt công trình, những vấn đề mới (không quá 100 từ) :
Đề tài phát triển hệ thống bãi giữ xe ô tô tự động dựa trên kỹ thuật thị giác máy tính, bằng các công cụ, phương pháp sau:
- Sử dụng MFC làm môi trường hiện thực hóa thuật toán
- Sử dụng thư viện mã nguồn mở OpenCV
- Sử dụng thuật toán nhận dạng ký tự SVM (trong đó dùng HOG để rút trích đặc trưng ảnh)
- Phương pháp phân tích giá trị điểm ảnh
- Phương pháp đánh dấu các thành phẩn liên kết
Kết quả đạt được: Xây dựng được gói phần mềm nhận dạng biển số xe, Xây dựng được gói phần mềm nhận dạng chỗ trống trong bãi xe
5 Tên giảng viên hướng dẫn (ghi rõ họ tên, học hàm, học vị, đơn vị công tác):
TS.GVCC Lê Xuân Trường – Trưởng khoa Công nghệ thông tin trường Đại học Mở
- Năm sinh (ngày tháng năm) : 1997
- Địa chỉ: 108 Hòa Thạnh An Phú Thuận, Châu Thành, Đồng Tháp
- Điện thoại : 0789 620 520
- Email: 1551010032hau@ou.edu.vn
- Khoa - Ngành: Công nghệ thông tin – Khoa học máy tính
- Trường : Đại học Mở thành phố Hồ Chí Minh
- Tỉnh/ Thành phố: Hồ Chí Minh
Ảnh 3 x4
(đóng dấu giáp lai)
Trang 3thực và có nguồn gốc Chúng tôi xin chịu trách nhiệm trước Ban tổ chức Giải thưởng và pháp luật về các kết quả nghiên cứu của đề tài này
Xác nhận của đại diện nhà trường Tác giả
TM Ban tổ chức cấp trường Ký tên
(ký tên, đóng dấu)
Trang 4MỤC LỤC
DANH MỤC CÁC HÌNH iv
DANH MỤC CÁC BẢNG vii
DANH MỤC CÁC THUẬT NGỮ TIẾNG ANH VÀ CHỮ VIẾT TẮT viii
TỔNG QUAN ĐỀ TÀI 1
1.1 Giới thiệu 1
1.2 Mục tiêu và phương pháp nghiên cứu 2
1.2.1 Mục tiêu 2
1.2.2 Phương pháp nghiên cứu 2
1.3 Đối tượng và phạm vi nghiên cứu 3
1.3.1 Đối tượng 3
1.3.2 Phạm vi 3
1.4 Đóng góp của đề tài 4
1.4.1 Đóng góp về mặt khoa học 4
1.4.2 Đóng góp về mặt kinh tế xã hội 4
1.5 Bố cục báo cáo 4
CƠ SỞ LÝ THUYẾT 6
2.4 Thư viện MFC phát triển ứng dụng trên Windows bằng môi trường Visual C++ 6
2.5 Ảnh đa mức xám: 6
2.6 Phương pháp phân ngưỡng(Threshold) 7
2.7 Bộ lọc Erosion 7
2.8 Bộ lọc Dilation 10
2.9 Các phép hình thái học 13
2.9.1 Opening 13
2.9.2 Closing 13
2.9.3 White Top-Hat 14
2.9.4 Black Top-Hat 14
Trang 52.10 Kỹ thuật Directional Filtering 15
2.10.1 Kỹ thuật Directional Closing 16
2.10.2 Kỹ thuật Directional Opening 16
2.11 Phương pháp đánh dấu các thành phần liên kết (Connected components labeling) 17
2.11.1 Tính liên kết điểm ảnh 17
2.11.2 Đánh dấu các thành phần liên kết 20
2.12 Bộ lọc điểm ảnh khác nhau(Difference Filter) 20
2.13 Thuật toán SVM(Support Vector Machine) 21
2.13.1 Phân lớp dữ liệu 21
2.13.2 Định nghĩa thuật toán SVM 22
2.13.3 Chuẩn hóa ảnh 23
HIỆN THỰC HỆ THỐNG 25
3.1 Tổng quan hệ thống: 25
3.1.1 Quy trình xử lý nhận dạng biển số xe 25
3.1.2 Quy trình xử lý nhận dạng chỗ trống 26
3.2 Cách lắp đặt camera 27
3.3 Giao diện thực nghiệm của chương trình: 28
3.3.1 Giao diện chương trình xử lý nhận dạng biển số xe 28
3.3.2 Giao diện chương trình xử lý nhận dạng chỗ trống 29
3.4 Cách thức xử lý 29
3.4.1 Xử lý phát hiện biển số: 29
3.4.2 Phân tách các biển số thành các ký tự hình ảnh: 34
3.4.3 Nhận dạng ký tự: 37
3.4.4 Nhận dạng chỗ trống 37
KẾT QUẢ THỰC NGHIỆM 43
4.1 Tổng quan hoạt động của hệ thống 43
4.2 Nhận dạng biển số xe 43
4.3 Nhận dạng chỗ trống trong bãi xe 46
Trang 6KẾT LUẬN 47
5.1 Kết quả đạt được 47
5.2 Kiến nghị 47
TÀI LIỆU THAM KHẢO 49
Trang 7DANH MỤC CÁC HÌNH
Hình 2.1 Ảnh màu trước khi chuyển qua ảnh đa mức xám (a) và ảnh sau khi chuyển
qua ảnh đa mức xám (b) 7
Hình 2.2 Ảnh sau khi chuyển sang nhị phân 7
Hình 2.3 Tập hợp các phần tử của hình ảnh gốc M 8
Hình 2.4 Phần tử cấu trúc dạng hình vuông 3x3 8
Hình 2.5 Ảnh minh họa các trường hợp xét điểm ảnh với cấu trúc phần tử 3x3 9
Hình 2.6 Ảnh nhị phân sau khi sử dụng bộ lọc Erosion 10
Hình 2.7 Kết quả khi sử dụng bộ lọc Erosion 10
Hình 2.8 Tập hợp các phần tử của hình ảnh gốc M 11
Hình 2.9 Phần tử cấu trúc dạng hình vuông 3x3 12
Hình 2.10 Ảnh nhị phân sau khi sử dụng bộ lọc Dilation 12
Hình 2.11 Kết quả sau khi sử dụng bộ lọc Dilation 12
Hình 2.12 Ảnh nhị phân trước (a) và sau (b) khi qua phép Opening 13
Hình 2.13 Ảnh nhị phân trước (a) và sau (b) khi qua phép Closing 14
Hình 2.14 Ảnh đa mức xám trước (a) và sau (b) khi qua phép White Top-Hat 14
Hình 2.15 Ảnh đa mức xám trước (a) và sau (b) khi qua phép White Top – Hat 15
Hình 2.16 Phần tử có cấu trúc theo phương ngang a) và theo phương đứng b) 15
Hình 2.17 Ảnh trước (a) và sau (b) khi dùng kỹ thuật Directional Closing 16
Hình 2.18 Ảnh lần lượt qua bộ lọc Horizontal Closing (a), Vertical Opening (b) và Vertical Opening (c) 16
Hình 2.19 Liên kết 4 hướng 18
Hình 2.20 Liên kết 8 hướng 19
Hình 2.21 Thành phần kiên kết 19
Trang 8Hình 2.22 Ảnh nền (a), ảnh lớp phủ (b) và ảnh sau khi qua bộ lọc điểm ảnh khác
nhau (c) 21
Hình 2.23 Mô tả các mặt phân cách phân chia dữ liệu trong không gian 2 chiều 22
Hình 2.24 Mô tả kết quả phân chia dữ liệu của thuật toán SVM trong không gian 2 chiều 23
Hình 2.25 Mô tả ánh xạ dữ liệu từ không gian 2 chiều vào không gian đa chiều 23
Hình 3.1 Mô hình hoạt động tổng quan của phần xử lý nhận dạng biển số 25
Hình 3.2 Mô hình hoạt động tổng quan của phần xử lý nhận chỗ trống 26
Hình 3.3 Cách lắp đặt camera 27
Hình 3.4 Giao diện chương trình nhận dạng biển số 28
Hình 3.5 Giao diện chương trình nhận dạng chỗ trống trong bãi đậu xe 29
Hình 3.6 Ảnh xe màu (a) và ảnh đa mức xám (b) 30
Hình 3.7 Kết quả (c) phép tính giữa các phần tử trong ảnh nguồn (a) với các phần tử trong phép White Top – Hat của chính nó 30
Hình 3.8 Kết quả (c) của phép tính Both Top – Hat sau khi lấy hiệu với các phần tử trong phép Black Top – Hat của chính ảnh nguồn 31
Hình 3.9 Hình ảnh sau khi qua bộ lọc Black Top – Hat từ bộ lọc Both Top - Hat 31
Hình 3.10 Hình ảnh kết quả sau khi áp dụng kỹ thuật Directional Closing 32
Hình 3.11 Kết quả thu được sau khi áp dụng kỹ thuật Vertical Opening 32
Hình 3.12 Kết quả thu được sau khi áp dụng kỹ thuật Horizontal Opening 33
Hình 3.13 Ảnh nhị phân sau khi loại bỏ các khu vực không cần thiết 33
Hình 3.14 Biển số tìm được sau khi qua các bước xử lý 34
Hình 3.15 Biển số xe thu được sau khi chuyển sang ảnh nhị phân 35
Hình 3.16 Biểu đồ histogram theo phương ngang của biển số 35
Trang 9Hình 3.17 Ảnh thu được sau khi cắt sát theo phương ngang 35
Hình 3.18 Biểu đồ histogram theo phương dọc của biển số 36
Hình 3.19 Biểu đồ thể hiện khối blob không hợp lệ 36
Hình 3.20 Biểu đồ histogram theo phương dọc sau khi loại bỏ các đối tượng không hợp lệ 36
Hình 3.21 Hình ảnh sau khi cắt sát theo phương ngang và phương dọc 36
Hình 3.22 Hình ảnh các ký tự sau khi được phân tách 37
Hình 3.23 Kết quả nhận dạng ký tự 37
Hình 3.24 Ảnh nền a) và ảnh b) lớp phủ trước khi chuyển sang ảnh đa mức xám 38
38
Hình 3.25 Ảnh nền a) và ảnh b) lớp phủ sau khi chuyển sang ảnh đa mức xám và điều chỉnh kích thước 38
Hình 3.26 Ảnh kết quả sau khi qua bộ lọc các điểm ảnh khác nhau 39
Hình 3.27 Ảnh kết quả sau quá trình nhị phân hóa 39
Hình 3.28 Ảnh kết quả sau khi qua bộ lọc dilation 40
Hình 3.29 Ảnh kết quả sau khi qua bộ lọc erosion 41
Hình 3.30 Hình ảnh bãi xe được cắt thành ma trận dãy xe A a) và ma trận dãy xe B b) 41
Hình 3.31 Biểu đồ histogram của dãy xe A a) và dãy xe B b) 42
Hình 3.32 Kết quả nhận dạng chỗ trống 42
Trang 10DANH MỤC CÁC BẢNG
Bảng 4.1 Kết quả thực nghiệm 43
Bảng 4.2 Kết quả phần phát hiện biển số 43
Bảng 4.3 Kết quả phần cắt biển số 43
Bảng 4.4 Kết quả phần nhận dạng biển số 44
Bảng 4.5 Kết quả nhận dạng chi tiết ký tự biển số 45
Bảng 4.6 Các ký tự nhận dạng sai 45
Bảng 4.7 Kết quả nhận dạng chỗ trống 46
Trang 11DANH MỤC CÁC THUẬT NGỮ TIẾNG ANH VÀ CHỮ VIẾT TẮT
API (Application Programming Interface) Giao diện lập trình ứng dụng MFC (Microsoft Foundation Class) Thư viện lập trình
OCR (Optical character recognition) Nhận dạng ký tự quang học OOP (Object Oriented Programming) Lập trình hướng đối tượng
HOG (Histogram Of Oriented Gradients) Biểu đồ đặc trưng
VAMA (VN Automobile Manufacturers’ Association) Tên tổ chức phi chính phủ
Trang 12TỔNG QUAN ĐỀ TÀI
1.1 Giới thiệu
Trước đây, nếu việc sử dụng ô tô tại Việt Nam được xem là “xa xỉ” thì giờ đây, với sự phát triển nhanh chóng của đất nước, thị trường ô tô ở nước ta đang bùng nổ mạnh mẽ Hiện nay, theo thống kê của VAMA (VIETNAM AUTOMOBILE MANUFACTURERS’ ASSOCIATION) tổng số lượng ô tô bán ra trên toàn thị trường trong năm 2017 là 272,747 xe, đến cuối năm 2018 là 286,390 xe tăng 5.0% so với năm 2017 và trong tháng 1 năm 2019 số lượng ô tô được bán ra thị trường đã là 33,510 xe tăng 28.7% so với cùng kỳ năm 2018, con số mà VAMA thống kê hiện tại không bao gồm các hãng xe nổi tiếng như Audi, Range Rover, Porsche, hay các dòng
xe nhập khẩu từ Trung Quốc chính vì vậy những con số này có thể sẽ còn cao hơn nữa
Trong khi số lượng xe ô tô ngày càng tăng nhanh thì quy mô bãi đậu xe ở nước
ta còn hạn chế, trong đó đa phần các bãi đậu xe còn sử dụng phương pháp thủ công, truyền thống trong việc gửi, nhận xe, điều này gây khó khăn cho người sử dụng trong việc tìm bãi đậu xe còn trống hay tìm chỗ trống trong bãi đậu Đặc biệt gửi, nhận xe bằng thẻ từ, thẻ giấy…gây lãng phí rất nhiều thời gian cho người sử dụng và cả nhà đầu tư Mặt khác, quản lý thủ công sẽ khiến cho các nhà đầu tư phải tốn chi phí rất cao trong vấn đề thuê nhân công lao động
Nắm bắt được nhu cầu cấp thiết đó, vào tháng 10 năm 2017 tập đoàn viễn thông quân đội Viettel đã cho thí điểm ứng dụng thu phí tự động qua smartphone trên ứng dụng MyParking Ứng dụng này cho phép người sử dụng biết được những bãi xe hiện đang còn chỗ trống và đặt chỗ, đặc biệt là với ứng dụng MyParking người
sử dụng có thể thanh toán phí đậu xe qua điện thoại di động; rút ngắn thời gian tìm kiếm, cũng như thanh toán cho cả người sử dụng và nhà đầu tư Tuy nhiên, hình thức
Trang 13gửi xe “bán tự động” này còn hạn chế trong việc cần có người quản lý ghi nhận chỗ trống, ghi nhận biển số và phải liên tục cập nhật vào hệ thống
Chính vì vậy, việc phát triển hệ thống bãi giữ xe tự động là một giải pháp phù hợp để giải quyết vấn đề gửi, nhận xe hiện nay cho những nơi có nhu cầu gửi xe lớn như siêu thị, chung cư, trung tâm thương mại,…
Trong đó, để rút ngắn thời gian và tránh gián đoạn xe ra vào tại các trạm, hạn chế việc dừng xe để quét thẻ, ghi thông tin biển số hoặc tìm kiếm chỗ đậu hợp lý Việc nhận dạng biển số xe tự động, cập nhật chỗ trống trong bãi đậu là cấp thiết trong bối cảnh hiện nay
1.2 Mục tiêu và phương pháp nghiên cứu
1.2.2 Phương pháp nghiên cứu
- Khảo sát hiện trạng, phân tích nguyên nhân
- Rút trích những đặc trưng của ảnh đầu vào và cho kết quả như mong muốn, thông qua việc sử dụng các phương pháp trong thư viện xử lý ảnh mã nguồn mở OpenCV:
+ Bộ lọc điểm ảnh Erosion, Dilation, Opening, Closing, Top-Hat…
Trang 14+ Phân tách các ký tự biển số
+ Nhận dạng ký tự biển số xe
+ Nhận dạng chỗ trống trong bãi đậu xe
1.3 Đối tượng và phạm vi nghiên cứu
1.3.1 Đối tượng
Để có thể xây dựng hệ thống theo đúng mục tiêu đã đề ra, đề tài đã nghiên cứu,
sử dụng các thư viện lập trình, thuật toán sau:
- Thư viện MFC là môi trường hiện thực thuật toán
- Thư viện xử lý ảnh mã nguồn mở OpenCV
- Thuật toán SVM trong nhận dạng ký tự
- Phương pháp phát hiện vị trí của biển số xe trên ảnh tĩnh
- Phương pháp cắt sát ký tự và phân tách các ký tự biển số xe
- Ảnh đa mức xám chứa đối tượng xe, biển số xe
1.3.2 Phạm vi
Để hệ thống được vận hành tốt nhất có thể, tại bãi giữ xe cần sắp xếp và bố trí camera, phân làn phù hợp để xe ra vào nhằm thu được ảnh đầu vào thõa mãn các yêu cầu sau:
− Phải thu được ảnh chính diện của phần đầu xe bao gồm biển số xe (biển số ngang)
− Khoảng cách từ camera đến biển số xe thích hợp và cố định sao cho ảnh hiện rõ các ký tự
− Điểu kiện ánh sáng tốt đảm bảo hiện rõ các ký tự biển số xe
− Biển số xe không bị che, bị mất hay mờ bất kỳ ký tự nào
− Độ nghiêng của biển số xe so với phương ngang không được quá 𝟏𝟎°
Trang 151.4 Đóng góp của đề tài
1.4.1 Đóng góp về mặt khoa học
Hiện thực thuật toán nhận dạng biển số xe, bao gồm phát hiện biển số, phân tách biển số thành các thứ tự riêng biệt, nhận dạng ký tự biển số
Hiện thực thuật toán nhận dạng chỗ trống trong bãi xe ô tô
Cả 2 thuật toán là cơ sở để xây dựng hệ thống bãi giữ xe ô tô hoàn toàn tự động trong việc gửi nhận xe
1.4.2 Đóng góp về mặt kinh tế xã hội
Giải pháp bãi giữ xe tự động không chỉ mang lại lợi nhuận cao cho các nhà đầu
tư mà còn mang đến sự tiện ích, thoải mái cho người sử dụng như:
- Rút ngắn thời gian tìm bãi xe trống: người sử dụng có thể nhanh chóng tìm kiếm được những bãi xe hiện còn chỗ đậu;
- Giảm lưu lượng giao thông đường phố: việc dễ dàng tìm kiếm bãi đậu sẽ hạn chế việc lái xe hàng giờ đồng hồ để tìm chỗ đậu của các lái xe;
- Thanh toán tiện lợi: người dùng có thể thanh toán chi phí trực tuyến qua điện thoại hoặc tài khoản ngân hàng mà không phải mất nhiều thời gian trong việc thanh toán bằng tiền mặt;
- Tăng độ an toàn: việc sử dụng camera khi vận hành hệ thống sẽ ghi nhận quá trình xe ra vào bãi, giúp nhà đầu tư và cả người sử dụng có thể kiểm soát được toàn bộ diễn biến xảy ra đối với ô tô;
- Giảm thiểu chi phí quản lý: việc tự động hóa ở giai đoạn gửi nhận, thanh toán sẽ lược bỏ những hoạt động mang tính thủ công giúp tiết kiệm chi phí thuê nhân công lao động
1.5 Bố cục báo cáo
➢ Chương 1: Tổng quan
Trang 16Giới thiệu tổng quan đề tài, mục tiêu, phương pháp và phạm vi nghiên cứu
➢ Chương 2: Cơ sở lý thuyết
Trình bày cơ sở lý thuyết, những thuật toán, phương thức được sử dụng trong đề tài
➢ Chương 3: Hiện thực hệ thống
Trình bày cách hiện thực hệ thống, mô hình hoạt động cách thức xử lý
➢ Chương 4: Kết quả đạt được
Trình bày kết quả đạt được của đề tài
➢ Chương 5: Kết luận
Đánh giá kết quả và đề xuất kiến nghị
Trang 17CƠ SỞ LÝ THUYẾT
2.1 Thư viện MFC phát triển ứng dụng trên Windows bằng môi trường Visual C++
Thư viện MFC (Microsoft Foundation Class) là thư viện tập hợp các lớp hướng đối tượng (Class, OOP) đóng gói các hàm API (Application Programming Interface) của Windows và các kiểu dữ liệu đặc biệt
Thư viện API của Windows là cơ sở để xây dựng thư viện MFC, trong một ứng dụng MFC ta không gọi trực tiếp các hàm Windows API mà sẽ tạo các Object từ các lớp của MFC, sau đó gọi hàm của Object này Đa số các hàm trong MFC trùng tên với các hàm trong API
Bằng thư viện MFC sẽ giúp lập trình viên xây dựng các ứng dụng nhanh hơn, ít tốn chi phí và công sức hơn
2.2 Ảnh đa mức xám:
Ảnh đa mức xám là ảnh mang sắc thái của màu xám, mỗi điểm ảnh trong ma trận ảnh đa mức xám chứa giá trị từ 0 đến 255.Với khả năng thể hiện 256 sắc thái của màu xám và cần rất ít thông tin để cấu tạo nên ảnh hoàn chỉnh nên ảnh đa mức xám rất thích hợp cho việc xử lý ảnh
Có rất nhiều cách để chuyển một ảnh màu sang ảnh đa mức xám
(a) (b)
Trang 18Hình 2.1 Ảnh màu trước khi chuyển qua ảnh đa mức xám (a) và ảnh sau khi chuyển
qua ảnh đa mức xám (b)
2.3 Phương pháp phân ngưỡng (Threshold)
Từ một giá trị ngưỡng quy định, sau khi áp dụng phương pháp phân ngưỡng [13] ảnh đa mức xám sẽ được chuyển thành ảnh nhị phân Ảnh nhị phân là ảnh chỉ chứa các giá trị đen hoặc trắng Trong đó, những điểm ảnh trong ảnh đa mức xám có giá trị lớn hơn hoặc bằng ngưỡng sẽ được chuyển sang giá trị 1 hoặc 255 (trắng), những điểm ảnh có giá trị nhỏ hơn ngưỡng sẽ mang giá trị 0 (đen)
Hình 2.2 Ảnh sau khi chuyển sang nhị phân
2.4 Bộ lọc Erosion
Frame ảnh sau khi được phân ngưỡng sẽ cho kết quả là một ảnh nhị phân Tuy nhiên ảnh nhị phân này đôi khi sẽ chứa một số điểm ảnh dư thừa xung quanh đối tượng, bộ lọc Erosion [8] sẽ giúp loại bỏ những điểm ảnh dư thừa này và giúp cho việc xác định đối tượng dễ dàng hơn
Bộ lọc Erosion hoạt động tốt trên ảnh nhị phân, thông thường bộ lọc Erosion sử dụng phần tử cấu trúc dạng hình vuông có kích thước 3x3
Trang 19Phép co trên ảnh nhị phân của bộ lọc erode có công thức như sau:
Trong đó:
M gọi là tập hợp các phần tử của hình ảnh gốc
N gọi là tập hợp các điểm c sao cho Nc là tập con của M
c gọi là tâm điểm của phần tử cấu trúc N
Phép co nhị phân của ảnh M với phần tử cấu trúc N là quỹ tích các điểm được tạo ra bởi tâm điểm của phần tử cấu trúc N khi tịnh tiến trên hình ảnh M
Ví dụ:
Hình 2.3 Tập hợp các phần tử của hình ảnh gốc M
N có phần tử cấu trúc 3x3 ta có mô tả như sau:
Hình 2.4 Phần tử cấu trúc dạng hình vuông 3x3
Trang 20Hình 2.5 Ảnh minh họa các trường hợp xét điểm ảnh với cấu trúc phần tử 3x3
Đề tài xét theo tuần tự các điểm ảnh của ảnh nhị phân mà bộ lọc nhận được Tương ứng với mỗi điểm ảnh ta đặt phần tử cấu trúc lên sao cho trọng tâm của phần
tử cấu trúc ngay tại điểm ảnh đó Nếu các điểm ảnh trong ảnh nhị phân trùng với phần tử cấu trúc và đều là điểm ảnh trắng thì điểm ảnh đầu vào đó sẽ được bỏ qua Ngược lại nếu có bất kì điểm ảnh nào trong ảnh nhị phân là màu đen thì điểm ảnh đầu vào sẽ bị thiết lập thành màu đen
Trang 21Hình 2.6 Ảnh nhị phân sau khi sử dụng bộ lọc Erosion
Ảnh nhị phân sau khi qua bộ lọc Erosion thì các điểm ảnh dư thừa sẽ bị loại bỏ
đi
(a) Ảnh trước khi qua bộ lọc Erosion (b) Ảnh sau khi sử dụng bộ lọc Erosion
Hình 2.7 Kết quả khi sử dụng bộ lọc Erosion
Trang 22Chính vì vậy, giải pháp đưa ra là sẽ sử dụng bộ lọc Dilation [9] Bộ lọc Dilation sẽ
mở rộng các điểm ảnh màu trắng và thu hẹp các điểm ảnh màu đen, giúp lấy lại đường viền của những đối tượng mà Erosion đã biến đổi
Phép dãn trên ảnh nhị phân của bộ lọc Dilation có công thức như sau:
𝑀 ⊕ 𝑁 = {𝑐|(𝑁)𝑐 ∩ 𝑀 ≠ ∅} (2)Trong đó:
M là ma trận điểm ảnh của ảnh nhị phân
N là phần tử cấu trúc
c là tâm điểm của phần tử cấu trúc N trên tập hợp M
Phép giãn nhị phân tập hợp của tất cả các điểm c sao cho phản xạ của Nc giao với tập M tại ít nhất một điểm
Bộ lọc Dilation áp dụng cấu trúc phần tử ngược lại so với Erosion
Ví dụ:
Hình 2.8 Tập hợp các phần tử của hình ảnh gốc M
Trang 23Hình 2.9 Phần tử cấu trúc dạng hình vuông 3x3
Hình 2.10 Ảnh nhị phân sau khi sử dụng bộ lọc Dilation Sau khi sử dụng bộ lọc Dilation, ảnh nhị phân chứa các điểm ảnh chuyển động đã được vẽ viền lại, khiến các đối tượng chuyển động hiển thị rõ và mang tính liên kết điểm ảnh cao hơn
(a) Ảnh nhị phân (b) Ảnh sau khi qua bộ lọc Dilation Hình 2.11 Kết quả sau khi sử dụng bộ lọc Dilation
Trang 242.6 Các phép hình thái học
Vì đặc trưng của biển số là mang độ tương phản cao giữa các ký tự với màu nền
và màu xe vì vậy cần nâng cao độ tương phản của ảnh để xác định vùng biển số Để nâng cao độ tương phản cũng như phân tách các ký tự cần sử dụng các phép hình thái học sau:
2.6.1 Opening
Ảnh sẽ qua bộ lọc Erosion, sau đó qua bộ lọc Dilation [2] Với A là tập hợp các phần tử của đầu vào, B là phần tử có cấu trúc Kết quả của sau khi qua bộ lọc Erosion các phần tử trong tập hợp A có kích thước nhỏ hơn phần tử cấu trúc B sẽ bị loại bỏ ngược lại được giữ nguyên
Trang 25
Hình 2.13 Ảnh nhị phân trước (a) và sau (b) khi qua phép Closing
2.6.3 White Top-Hat
Phép toán này sẽ trích xuất các vùng sáng trong ảnh Những vùng nhỏ hơn cấu trúc
B và có giá trị điểm ảnh sáng hơn vùng xung quanh
Trang 26
Hình 2.15 Ảnh đa mức xám trước (a) và sau (b) khi qua phép White Top – Hat
2.7 Kỹ thuật Directional Filtering
Kỹ thuật Directional Filtering là sản phẩm của sự kết hợp 2 phép hình thái học Openning và Closing với các phần tử cấu trúc có hướng (vertical/horizontal)
Hình 2.16 Phần tử có cấu trúc theo phương ngang a) và theo phương đứng b) Các phần tử có hướng này chỉ có giá trị ở một hàng hoặc một cột và có kích thước tùy chỉnh
Để xác định chính xác vị trí biển số đề tài sử dụng 2 kỹ thuật Directional Closing và Directional Opening Trong đó:
Trang 272.7.2 Kỹ thuật Directional Closing
Là sự kết hợp của phép hình thái Closing và phần tử có cấu trúc theo phương ngang (Horizontal) với kích thước thích hợp làm sáng vùng chứa đối tượng cần xác định
Hình 2.17 Ảnh trước (a) và sau (b) khi dùng kỹ thuật Directional Closing
2.7.3 Kỹ thuật Directional Opening
Là sự kết hợp của phép hình thái Opening và phần tử có cấu trúc theo cả phương đứng (Horizontal) và phương ngang (Vertical) giúp làm nổi bật lên đối tượng nghi vấn và làm ẩn đi những đối tượng rác
Hình 2.18 Ảnh lần lượt qua bộ lọc Horizontal Closing (a), Vertical Opening (b) và
Vertical Opening (c)
Trang 282.8 Phương pháp đánh dấu các thành phần liên kết (Connected components
labeling)
2.8.1 Tính liên kết điểm ảnh
Tính liên kết điểm ảnh[10] là mối quan hệ giữa 2 hay nhiều điểm ảnh, 2 điểm ảnh thõa mãn về cường độ và không gian lân cận được gọi 2 điểm ảnh liên kết với nhau
Đầu tiên về cường độ điểm ảnh Để có căn cứ xác định vùng lân cận, người ta đã định ra một tập giá trị tham chiếu , trong đó các điểm ảnh có giá trị thuộc về tập này được gọi là điểm ảnh lân cận Đối với ảnh nhị phân ta có thể đặt tập giá trị tham chiếu là V = {1}, điều đó có nghĩa là giá trị tham chiếu của các điểm ảnh là 1 (cường
độ điểm ảnh được gọi là lân cận với nhau phải có giá trị là 1)
Với mỗi điểm ảnh sẽ có 2 tiêu chuẩn để xác định cường độ điểm ảnh lân cận với
nó là: liên kết 4 hướng và liên kết 8 hướng
Trong hệt trục tọa độ (x, y) hai điểm ảnh a, b có giá trị thuộc về tập V có mối liên kết 4 hướng với nhau khi a có giá trị là một trong những giá trị của tập N4 (b), trong đó:
N4 (b) = {(x+1,y),(x-1,y),(x,y+1),(x,y-1)} (7)
Trang 29
Hình 2.19 Liên kết 4 hướng Hai điểm ảnh a, b có giá trị thuộc về tập V có mối liên kết 8 hướng với nhau khi a
có giá trị là một trong những giá trị của tập N8 (b), trong đó:
N8 (b) = N4(𝑏) ∪{(x+1,y+1),(x+1,y-1),(x-1,y+1),(x-1,y-1)} (8)
Trang 30Hình 2.20 Liên kết 8 hướng Người ta thường sử dụng liên kết 4 hướng hoặc liêt kết 8 hướng để xác định cường độ điểm ảnh lân cận
Nếu sử dụng liên kết 4 hướng thì một điểm ảnh a được liên kết 4 hướng với điểm ảnh b khi:
- Điểm ảnh a có kết nối 4 hướng với điểm ảnh b
- Hoặc a có kết nối 4 hướng với một điểm ảnh thứ 3 và điểm ảnh thứ 3 này
có kết nối 4 hướng với điểm ảnh b
Trong một ma trận mà tát cả các điểm ảnh đó đều kết nối với nhau được gọi là thành phần liên kết (Connected component)
Dưới đây là một ví dụ về ảnh nhị phân có 2 thành phần liên kết dựa trên liên kết
4 hướng, còn nếu dựa trên liên kết 8 hướng thì chỉ có duy nhất 1 thành phần liên kết
Hình 2.21 Thành phần kiên kết