Vì vậy, luận văn đã chọn đề tài “ Nhận dạng biển báo giao thông đường bộ “ đểnghiên cứu với mục đích hiểu được nền tảng công nghệ , các lý thuyết cơ bản trongbài toán xử lý ảnh và áp dụn
Trang 1ĐẠI HỌC ĐÀ NẴNGKHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
ĐỒ ÁN CƠ SỞ
ĐỀ TÀI: NHẬN DIỆN BIỂN BÁO GIAO
THÔNG ĐƯỜNG BỘ
Giảng viên hướng dẫn : THS TRẦN THU THỦY
Sinh viên thực hiện : NGUYỄN HOÀNG VŨ
TRẦN THUẬN
Lớp : 17IT3
Đà Nẵng , tháng 7 năm 2020
Trang 2ĐẠI HỌC ĐÀ NẴNGKHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
Trang 3MỞ ĐẦU
Ngày nay, khi tốc độ phát triển kinh tế, công nghiệp và dịch vụ ngày càng tăng,nhu cầu giao thông đi lại của con người càng trở thành vấn đề quan trọng Tuynhiên, giao thông Việt Nam luôn là một vấn đề nóng của xã hội Từ quy mô pháttriển cơ sở hạ tầng Ý thức tự giác và cảnh giác của người tham gia giao thông tạiViệt Nam lại chưa cao
Theo số liệu thống kê của Ủy ban An toàn giao thông Quốc gia, trong 3 thángđầu năm 220, cả nước đã xảy ra 7.148 vụ tai nạn Từ tình hình thực tế giao thôngtại Việt Nam, có nhiều nguyên nhân gây ra các vụ tai nạn giao thông đường bộ,nhưng phần lớn la do tài xế không làm chủ tốc độ, không quan sát hoặc không kịpnhận ra các loại biển báo và tín hiệu giao thông Đây là những nguyen hiểm đãđược cảnh báo trước nhưng tai nạn vẫn thường xuyên xảy ra, gây không ít thiệt hại
về tính mạng và tài sản của người tham gia giao thông
Cho đến nay vấn đề này được nhiều nghiên cứu trên thế giới quan tâm Nhưngnhững biển báo giao thông được nghiên cứu không phải dùng cho giao thôngđường bộ tại Việt Nam Trong khi đó tình hình nghiên cứu biẻn báo giao thông tạiViệt Nam vãn còn nhiều hạn chế và chưa đầy đủ
Vì vậy, luận văn đã chọn đề tài “ Nhận dạng biển báo giao thông đường bộ “ đểnghiên cứu với mục đích hiểu được nền tảng công nghệ , các lý thuyết cơ bản trongbài toán xử lý ảnh và áp dụng trong việc nhận dạng biển báo giao thông một cách
tự động
3
Trang 4Chúng em xin gửi lời cảm ơn chân thành đến tất cả các thầy cô giảng viêncủa Khoa Công nghệ thông tin và truyền thông nói chung và thầy Ths Trần ThuThủy nói riêng đã cung cấp cho chúng em kiến thức, kỹ năng cần thiết, hướng dẫncho chúng em hoàn thành tốt đồ án này.
Em xin chân thành cảm ơn!
4
Trang 5NHẬN XÉT
(Của giảng viên)
5
Trang 62 Xử lý nâng cao chất lượng ảnh :
2.1 Toán tử điểm với xử lý ảnh
2.2 Toán tử không gian với xử lý ảnh
3 Biên và một số phương pháp phát hiện biên :
3.1 Tổng quan về biên
3.2 Phân loại các kỹ thuật phát hiện biên
CHƯƠNG II: THƯ VIỆN OPENCV
1 OpenCV là gì ?
2 Ai sử dụng OpenCV?
3 Thị giác máy tính( computer vision) là gì?
CHƯƠNG III: ỨNG DỤNG XỬ LÝ ẢNH TRONG THỰC TẾ VỚI THUẬT TOÁN CONVOLUTIONAL NEURAL NETWORK CNN )(
1 Convolutional Neural Network ( CNN ) là gì ?
2 Convolutional là gì?
6
Trang 73 Cấu trúc của mạng CNN
3.1 Trường tiếp nhận cục bộ ( local receptive field )
3.2 Trọng số chia sẻ ( shared weight and bias )
Trang 8DANH MỤC HÌNH ẢNH
Hình 1: Quá trình Xử lý ảnh
Hình 2: Các bước cơ bản trong quá trình xử lý ảnhHình 3: Sơ đồ phân tích và xử lý ảnh
Hình 4: Đường biên lý tưởng
Hình 5: Đường biên bậc thang
Hình 6: Đường biên thực
Hình 7: Sơ đồ Convolutional Neural Network ( CNN )
Hình 8: Convolutional - cửa sổ trượt (Sliding Windows)
Trang 9CHƯƠNG I: CƠ SỞ LÝ THUYẾT
XỬ LÝ ẢNH
1 Giới thiệu về xử lý ảnh
2 Biên Và Một Số Phương Pháp Phát Hiện Biên
3 Xử Lý Nâng Cao Chất Lượng Ảnh
9
Trang 10CHƯƠNG I: CƠ SỞ LÝ THUYẾT XỬ LÝ ẢNH
1 Giới thiệu về xử lý ảnh:
1.1 Xử lý ảnh:
Xử lý ảnh là một lĩnh vực mang tính khoa học và công nghệ Nó là một ngànhkhoa học mới mẻ so với nhiều ngành khoa học khác nhưng tốc độ phát triển của nórất nhanh, kích thích các trung tâm nghiên cứu, ứng dụng, đặc biệt là máy tínhchuyên dụng riêng cho nó
Các phương pháp xử lý ảnh bắt đầu từ các ứng dụng chính: nâng cao chất lượngảnh và phân tích ảnh Ứng dụng đầu tiên được biết đến là nâng cao chất lượng ảnhbáo được truyền qua cáp từ Luân đôn đến New York từ những năm 1920 Vấn đềnâng cao chất lượng ảnh có liên quan tới phân bố mức sáng và độ phân giải củaảnh Việc nâng cao chất lượng ảnh được phát triển vào khoảng những năm 1955.Điều này có thể giải thích được vì sau thế chiến thứ hai, máy tính phát triển nhanhtạo điều kiện cho quá trình xử lý ảnh số thuận lợi Năm 1964, máy tính đã có khảnăng xử lý và nâng cao chất lượng ảnh từ mặt trăng và vệ tinh Ranger 7 của Mỹbao gồm: làm nổi đường biên, lưu ảnh Từ năm 1964 đến nay, các phương tiện xử
lý, nâng cao chất lượng, nhận dạng ảnh phát triển không ngừng Các phương pháptri thức nhân tạo như mạng nơron nhân tạo, các thuật toán xử lý hiện đại và cảitiến, các công cụ nén ảnh ngày càng được áp dụng rộng rãi và thu nhiều kết quảkhả quan
Xử lý ảnh đóng vai trò quan trọng trong tương tác giữa người với máy tính Quátrình xử lý nhận dạng ảnh là một quá trình gồm các thao tác nhằm biến đổi một ảnhđầu và để cho ra một kết quả hoặc một kết luận
10
Trang 11Hình 1: Quá trình Xử lý ảnh Đầu tiên, ảnh tự nhiên từ thế giới ngoài được thu nhận qua các thiết bị thu (nhưCamera, máy chụp ảnh) Sau đó, qua Xử lý ảnh thì ảnh được chuyển trực tiếpthành ảnh số tạo thuận lợi cho xử lý tiếp theo Kết quả của xử lý ảnh có thể là: cho
ra một ảnh tốt hơn theo mong muốn của người dùng; Phân tích ảnh để thu đượcthông tin để phân loại ảnh và nhận biết ảnh; Rút ra những nhận xét, kết luận v.v…
1.2 Các bước cơ bản trong quá trình xử lý ảnh:
Hình 2: Các bước cơ bản trong quá trình xử lý ảnh
1.2.1 Thu nhận ảnh (Image Acquisition):
Ảnh có thể thu nhận qua máy ảnh màu hoặc trắng đen, máy quét ảnh , máyquay,.v.v… Chất lượng một ảnh thu nhận được phụ thuộc vào thiết bị thu, vào môitrường (ánh sáng, phong cảnh) Sau đó, ảnh được chuyển đổi ADC(số hóa ảnh).Quá trình chuyển đổi ADC( Analog to Digital Converter) để thu nhận dạng số hóacủa ảnh
1.2.2 Tiền xử lý ảnh (Image Processing):
Sau bộ thu nhận, ảnh có thể nhiễu độ tương phản thấp nên cần đưa vào bộ tiền
xử lý để nâng cao chất lượng Chức năng chính của bộ tiền xử lý ảnh là lọc nhiễu,
11
Trang 12nâng độ tương phản để làm ảnh rõ hơn, nét hơn Ảnh sẽ được cải thiện về độ tươngphản, khử nhiễu, khôi phục ảnh, nắn chỉnh hình học,
• Khử nhiễu: nhiễu có hai loại: nhiễu hệ thống và nhiễu ngẫu nhiên Đặc trưngcủa nhiễu hệ thống là tính tuần hoàn nên có thể khử nhiễu bằng việc sử dụngphép biến đổi Fourier và loại bỏ các đỉnh điểm Nhiễu ngẫu nhiên có thểđược khử bằng phương pháp nội suy, lọc trung vị và lọc trung bình
• Chỉnh mức xám: là chỉnh sửa tính không đồng đều của thiết bị thu nhận hoặc
độ tương phản giửa các vùng ảnh
• Chỉnh tán xạ ảnh: Ảnh thu được từ các thiết bị quang học hay điện tử có thể
bị mờ, nhòe ảnh Phương pháp biến đổi Fourier dựa trên tích chập của ảnhvới hàm tán xạ
1.2.3 Phân đoạn ảnh (Segmentation):
Phân đoạn ảnh là tách một ảnh đầu vào thành các vùng thành phần để biểu diễnphân tích, nhận dạng ảnh Ví dụ: để nhận dạng chữ (hoặc mã vạch) trên phong bìthư cho mục đích phân loại bưu phẩm, cần chia các câu, chữvề địa chỉhoặc tênngười thành các từ, các chữ, các số(hoặc các vạch) riêng biệt đểnhận dạng Đây làphần phức tạp khó khăn nhất trong xử lý ảnh và cũng dễ gây lỗi, làm mất độ chínhxác của ảnh Kết quả nhận dạng ảnh phụ thuộc rất nhiều vào công đoạn này Kếtquả của việc phân đoạn ảnh thường là các dữ liệu điểm ảnh thô, hàm chứa biên củamột vùng ảnh hoặc tập hợp tất cả các điểm ảnh trong một vùng ảnh đó
1.2.4 Biểu diễn và mô tả ảnh (Image Representation and Description):
Biểu diễn ảnh: Đầu ra ảnh sau phân đoạn chứa các điểm ảnh của vùng ảnh (ảnh
đã phân đoạn) cộng với mã liên kết với các vùng lận cận Việc biến đổi các số liệunày thành dạng thích hợp là cần thiết cho xử lý tiếp theo bằng máy tính Việc chọncác tính chất để thể hiện ảnh gọi là trích chọn đặc trưng (Feature Selection) gắn với
12
Trang 13việc tách các đặc tính của ảnh dưới dạng các thông tin định lượng hoặc làm cơ sở
để phân biệt lớp đối tượng này với đối tượng khác trong phạm vi ảnh nhận được
Mô tả ảnh: Ảnh sau khi được số hóa sẽ được lưu vào bộ nhớ hoặc chuyển sangcác khâu tiếp theo để phân tích ảnh Nếu lưu trữ ảnh trực tiếp từ ảnh thô thì đòi hỏidung lượng bộ nhớ rất lớn và không hiệu quả cho các ứng dụng sau này Thôngthường ,các ảnh thô đó được biểu diễn hay mã hóa lại theo các đặc điểm của ảnhđược gọi là các đặc trưng như: biên ảnh, vùng ảnh Một số phương pháp biển diễnảnh: Biểu diễn ảnh bằng mã chạy( Run-length Code): thường biểu diễn cho vùngảnh và áp dụng cho ảnh nhị phân Một vùng ảnh R có thể mã hoá đơn giản nhờ một
Biểu diễn ảnh bằng mã xích( Chaine- Code): thường dùng để biển diễn đườngbiên ảnh Một đường biên ảnh bất kỳ được chia thành các đoạn nhỏ Nối các điểmchia, ta có các đoạn thẳng kế tiếp được gán hướng cho đoạn thẳng đó tạo thành mộtdây xích gồm các đoạn Các hướng có thể chọn 4, 8, 12, 24,… mỗi hướng được mãhoá theo số thập phân hoặc số nhị phân thành mã của hướng
Biểu diễn ảnh bằng mã tứ phân(Quad- Tree Code): thường dùng để mã hóa chocác vùng ảnh Vùng ảnh đầu tiên được chia làm bốn phần thường là bằng nhau.Nếu mỗi vùng đã đồng nhất (chứa toàn điểm đen (1) hay trắng (0)), thì gán chovùng đó một mã và không chia tiếp Các vùng không đồng nhất được chia tiếp làm
13
Trang 14bốn phần theo thủ tục trên cho đến khi tất cả các vùng đều đồng nhất Các mã phânchia thành các vùng con tạo thành một cây phân chia các vùng đồng nhất.
1.2.5 Nhận dạng và nội suy ảnh(Image Recognition and Interpretation):
Nhận dạng ảnh là quá trình xác định ảnh Quá trình này thường thu được bằngcách so sánh với mẫu chuẩn đã được lọc (hoặc lưu) từ trước Nội suy là phán đoántheo ý nghĩa trên cơ sở nhận dạng Ví dụ: một loạt chữ số và nét gạch ngang trênphong bì thư có thể được nội suy thành mã điện thoại Có nhiều cách phân loai ảnhkhác nhau về ảnh Theo lý thuyết về nhận dạng, các mô hình toán học về ảnh đượcphân theo hai loại nhận dạng ảnh cơ bản:
• Nhận dạng theo tham số
• Nhận dạng theo cấu trúc
Một số đối tượng nhận dạng khá phổ biến hiện nay đang được áp dụng trongkhoa học và công nghệ là: nhận dạng ký tự(chữ in, chữ viết tay, chữ ký điện tử),nhận dạng văn bản (Text), nhận dạng vân tay, nhận dạng mã vạch, nhận dạng mặtngười…
1.2.6 Cơ sở trí thức( Knowledge Base):
Ảnh là một đối tượng khá phức tạp về đường nét, độ sáng tối, dung lượng điểmảnh, môi trường để thu ảnh phong phú kéo theo nhiễu Trong nhiều khâu xử lý ảnh
và phân tích ảnh ngoài việc đơn giản hóa các phương pháp toán học đảm bảo tiệnlợi cho xử lý, người ta mong muốn bắt chước quy trình tiếp nhận và xử lý ảnh theocách của con người Trong các bước xử lý ảnh đó, nhiều khâu hiện nay đã xử lýtheo các phương pháp trí tuệ con người Vì vậy, ở đây các cơ sở tri thức được pháthuy
Trong thực tế, các quá trình sử dụng ảnh số không nhất thiết phải qua hết cáckhâu đó tùy theo đặc điểm ứng dụng Ảnh sau khi được số hóa được nén, và lưu lai
để truyền đi cho các hệ thống khác sử dụng hoặc để xử lý tiếp theo Mặt khác, ảnh
14
Trang 15sau khi số hóa có thể bỏ qua công đoạn nâng cao chất lượng( khi ảnh đủ chất lượngtheo một yêu cầu nào đó) để chuyển tới khâu phân đoạn hoặc bỏ tiếp khâu phânđoạn chuyển trực tiếp tới khâu trích chọn đặc trưng
Hình 3: Sơ đồ phân tích và xử lý ảnh Việc trích chọn hiệu quả các đặc điểm giúp cho việc nhận dạng các đối tườngảnh chính xác, với tốc độ tính toán cao và dung lượng lưu trữ được giảm xuống.Các đặc điểm của đối tượng được trích chọn tùy theo mục đích nhận dạng trongquá trình xử lý ảnh Một số đặc điểm của ảnh:
• Đặc điểm không gian: phân bố mức xám, xác suất, biên độ, điểm uốn,.v.v…
• Đặc điểm biến đổi: các đặc điểm được trích chọn bằng việc thực hiện lọcvùng( Zonal filtering) Các mặt nạ đặc điểm(feature mask) thường là các khehẹp với hình dạng khác nhau( hình chữ nhật, hình vuông, hình tamgiác.v.v…)
• Đặc điểm biên và đường biên: là đặc trưng cho đường biên của đối tượng vàtrích chon các thuộc tính bất biến được dung khi nhận dạng đối tượng Nhờ
sử dụng các phương pháp toán tử Laplace, toán tử Gradient, toán tử La bàn,toán tử chéo không( zero crossing).v.v…
15
Trang 161.3 Một số vấn đề cơ bản trong xử lý ảnh:
1.3.1 Điểm ảnh( Picture Element):
Gốc của ảnh( ảnh tự nhiên) là ảnh liên tục về không gian và độ sáng Để xử lýbằng máy tính thì ảnh cần phải được số hoá Số hoá ảnh là sự biến đổi gần đúngmột ảnh liên tục thành một tập điểm phù hợp với ảnh thật về vị trí( không gian) và
độ sáng( mức xám) Khoảng cách giữa các điểm ảnh đó được thiết lập sao cho mắtngười không phân biệt được ranh giới giữa chúng Mỗi một điểm như vậy gọi làđiểm ảnh( PEL: Picture Element) hay gọi tắt là Pixel Trong khuôn khổ ảnh haichiều, mỗi pixel ứng với cặp tọa độ ( x, y) Định nghĩa: Điểm ảnh( Pixel) là mộtphần tử của ảnh số tại toạ độ( x, y) với độ xám hoặc màu nhất định Kích thước vàkhoảng cách giữa các điểm ảnh đó được chọn thích hợp sao cho mắt người cảmnhận sự liên tục về không gian và mức xám( hoặc màu) của ảnh số gần như ảnhthật Mỗi phần tử trong ma trận được gọi là một phần tử ảnh
1.3.2 Độ phân giải của ảnh( Resolution):
Định nghĩa: Độ phân giải( Resolution) của ảnh là mật độ điểm ảnh được ấn địnhtrên một ảnh số được hiển thị Khoảng cách giữa các điểm ảnh phải được chọn saocho mắt người vẫn thấy được sự liên tục của ảnh Việc lựa chọn khoảng cách thíchhợp tạo nên một mật độ phân giải và được phân bố theo trục x và y trong khônggian hai chiều
1.3.3 Mức xám của ảnh:
Một điểm ảnh( pixel) có hai đặc trưng cơ bản là vị trí( x, y) của điểm ảnh và độxám của nó Mức xám của điểm ảnh là cường độ sáng của nó được gán bằng giá trị
số tại điểm đó Các thang giá trị mức xám thông thường: 16, 32, 64, 128, 256( Mức
256 là mức thông dụng Lý do từ kỹ thuật máy tính dùng 1 byte (8 bit) để biểu diễnmức xám: Mức xám dùng 1 byte biểu diễn: 2 8= 256 mức, tức là từ 0 đến 255)
• Ảnh đen trắng: là ảnh có hai màu đen, trắng( không chứa màu khác) với mứcxám ở các điểm ảnh có thể khác nhau
16
Trang 17• Ảnh nhị phân: ảnh chỉ có 2 mức đen trắng phân biệt tức dùng 1 bit mô tả 2
1 mức khác nhau Nói cách khác mỗi điểm ảnh của ảnh nhị phân chỉ có thể
là 0 hoặc 1
• Ảnh màu : trong khuôn khổ lý thuyết ba màu( Red, Blue, Green) để tạo nênthế giới màu, người ta thường dùng 3 byte đểmô tảmức màu, khi đó các giátrịmàu: 2 8 3= 2 24≈16,7 triệu màu.∗
1.3.4 Định nghĩa ảnh số:
Ảnh số là tập hợp các điểm ảnh với mức xám phù hợp dùng để mô tả ảnh gầnvới ảnh thật
1.3.5 Biến đổi ảnh( Image Transform):
Trong xử lý ảnh do số điểm ảnh lớn các tính toán nhiều( độ phức tạp tính toáncao) đòi hỏi dung lượng bộ nhớ lớn, thời gian tính toán lâu Các phương pháp khoahọc kinh điển áp dụng cho xử lý ảnh hầu hết khó khả thi Người ta sử dụng cácphép toán tương đương hoặc biến đổi sang miền xử lý khác để dễ tính toán Saukhi xử lý dễ dàng hơn được thực hiện, dùng biến đổi ngược để đưa về miền xácđịnh ban đầu, các biến đổi thường gặp trong xử lý ảnh gồm:
• Biến đổi Fourier, Cosin, Sin…
• Biến đổi( mô tả) ảnh bằng tích chập, tích Kronecker (theo xử lý số tín hiệu[3])
• Các biến đổi khác như KL( Karhumen Loeve), Hadamard
• Một số công cụ xác suất thông kê cũng được sử dụng trong xử lý ảnh
2 Xử Lý Nâng Cao Chất Lượng Ảnh:
Nâng cao chất lượng là bước cần thiết trong xử lý ảnh nhằm hoàn thiện một sốđặc tính của ảnh Nâng cao chất lượng ảnh gồm hai công đoạn khác nhau: tăngcường ảnh và khôi phục ảnh Tăng cường ảnh nhằm hoàn thiện các đặc tính củaảnh như:
17
Trang 18• Lọc nhiễu, hay làm trơn ảnh.
• Tăng độ tương phản, điều chỉnh mức xám của ảnh
• Làm nổi biên ảnh
Các thuật toán triển khai việc nâng cao chất lượng ảnh hầu hết dựa trên các kỹthuật trong miền điểm, không gian và tần số
2.1 Toán tử điểm với xử lý ảnh:
Toán tử điểm là phép biến đổi đối với từng điểm ảnh đang xét, không liên quanđến các điểm lân cận khác Ứng dụng chính của các toán tử điểm là biến đổi độtương phản của ảnh Ánh xạ f khác nhau tùy theo các ứng dụng Các dạng toán tửđiểm
2.1.1 Tăng độ tương phản (Stretching Contrast):
Độ tương phản biểu diễn sự thay đổi độ sáng của đối tượng so với nền Hay, độtương phản là độ nổi của điểm ảnh hay vùng ảnh so với nền
Các cấp độ α, β, γ xác định độ tương phản tương đối Llà số mức xám cực đại
• α = β= γ=1 ảnh kết quả trùng với ảnh gốc
• α, β, γ > 1 dãn độ tương phản
• α, β, γ < 1 co độ tương phản
2.1.2 Tách nhiễu và Phân ngưỡng:
Tách nhiễu là trường hợp đặc biệt của dãn độ tương phản khi hệ số góc α= γ= 0.Tách nhiễu được ứng dụng có hiệu quả để giảm nhiễu khi biết tín hiệu vào trên khoảng[ a, b] Phân ngưỡng là trường hợp đặc biệt của tách nhiễu khi a=b=const
Trong đó a= b= t gọi là phân ngưỡng
18
Trang 192.1.5 Trích chọn bit (Bit Extraction):
Mỗi điểm ảnh thường được mã hóa trên B bit Nếu B= 8 ta có ảnh 2 8=256 mứcxám( ảnh nhị phân ứng với B= 1) Trong các bit mã hóa này, người ta chia làm 2loại: bit bậc thấp và bit bậc cao.Với bit bậc cao, độ bảo toàn thông tin cao hơn sovới bit bậc thấp Các bit bậc thấp thường biểu diễn nhiễu hay nền
2.1.7 Nén dải độ sáng:
Đôi khi do dải động của ảnh lớn, việc quan sát ảnh không thuận tiện Cần phảithu nhỏ dải độ sáng lại mà ta gọi là nén giải độ sáng Ta dùng phép biến đổi logaritsau:
v (m,n) = c*log10(δ+ u(m,n))với c là hằng số tỉ lệ, δ được coi là nhỏ so với u(m, n) Thường δ được chọn trongkhoảng 3-10
2.2 Toán tử không gian với xử lý ảnh:
Thông thường là ảnh thu nhận được có nhiễu cần phải loại bỏ nhiễu hay ảnhkhông được sắc nét bị mờ hoặc cần làm tõ các chi tiết như đường biên ảnh Các
19