Tổng quan về bài toán nhận dạng biển số xe Dựa trên các nội dung thu thập và phân loại về hệ thống nhận dạng biển số xe giúp chúng ta có định hướng rõ ràng và đưa ra các phương pháp áp
Trang 1ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC SƯ PHẠM ĐÀ NẴNG
NGUYỄN QUỐC LONG
NGHIÊN CỨU ỨNG DỤNG NHẬN DẠNG BIỂN SỐ XE
Trang 2ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC SƯ PHẠM ĐÀ NẴNG
NGUYỄN QUỐC LONG
NGHIÊN CỨU ỨNG DỤNG NHẬN DẠNG BIỂN SỐ XE
Người hướng dẫn khoa học:
TS Nguyễn Trần Quốc Vinh
Đà Nẵng, năm 2022
Trang 3MỤC LỤC
MỤC LỤC i
KẾT QUẢ NGHIÊN CỨU iii
DANH MỤC BẢNG vii
DANH MỤC HÌNH viii
MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 Mục tiêu nghiên cứu 1
3 Đối tượng và phạm vi nghiên cứu 2
4 Phương pháp nghiên cứu 2
5 Ý nghĩa thực tiễn của đề tài 2
6 Kết quả dự kiến 2
7 Kết cấu của luận văn 3
CHƯƠNG 1 TỔNG QUAN VỀ BÀI TOÁN NHẬN DẠNG BIỂN SỐ XE 4
1.1 Khái quát về xử lý ảnh và bài toán nhận dạng 4
1.2 Tổng quan về nhận dạng 4
1.2.1 Định nghĩa về bài toán nhận dạng: 4
1.2.2 Khái niệm nhận dạng biển số xe 6
1.3 Khái niệm biển số xe 7
1.4 Một số hướng giải quyết của bài toán 13
1.4.1 Hướng tiếp cận phát triển vùng 13
1.4.2 Hướng tiếp cận dò biên và biến đổi Hough 13
1.4.3 Phân ngưỡng và tím vùng đối tượng (hướng tiếp cận của luận văn) 14
1.5 Phát hiện vùng chứa biển số xe 14
1.5.1 Một số khái niệm cơ bản 14
1.5.2 Biên và các phương pháp phát hiện biên 16
1.5.3 Phát hiện vùng chứa biển số xe 19
1.6 Hướng giải quyết bài toán và mạng nơron nhân tạo 24
1.6.1 Mạng nơron tích chập 27
Trang 41.6.2 Phạm vi nghiên cứu và hướng giải quyết bài toán 32
Kết Chương 1 34
CHƯƠNG 2 GIẢI PHÁP NHẬN DẠNG BIỂN SỐ XE PHỤC VỤ PHÒNG CHỐNG DỊCH COVID-19 35
2.1 COVID – 19 35
2.1.1 Sơ lược về đại dịch và diễn biến COVID – 19 35
2.1.2 Giải Pháp Covid-19 Tại Việt Nam 41
2.2 Bài toán nhận dạng ký tự trong biển số 47
2.2.1 Tổng quan về nhận dạng 47
2.2.2 Phương pháp nhận dạng ký tự trong biển số xe 49
2.3 Thư viện OpenCV 49
Kết Chương 2 52
CHƯƠNG 3 XÂY DỰNG CHƯƠNG TRÌNH VÀ ĐÁNH GIÁ BÀI TOÁN 53 3.1 Mô tả bài toán và mô hình thực hiện 53
3.1.1 Phát biểu bằng lời 53
3.1.2 Mô hình nhận dạng biển số xe đề xuất 53
3.1.3 Mô hình bài toán 54
3.2 Các quá trình xử lý trong hệ thống 54
3.2.1 Xử lý hình ảnh 54
3.2.2 Demo code xử lý ảnh 57
3.2.3 Hệ thống website xử lý 58
3.2.4 Xử lý bài toán bài toán nhận dạng 66
3.3 Hướng phát triển của bài toán nhận dạng biển số xe 68
3.3.1 Nhận xét 68
3.3.2 Hướng phát triển và đề xuất ý kiến 68
KẾT CHƯƠNG 3 71
KẾT LUẬN 71
TÀI LIỆU THAM KHẢO 73
Trang 5KẾT QUẢ NGHIÊN CỨU TÊN ĐỀ TÀI: NGHIÊN CỨU ỨNG DỤNG NHẬN DẠNG BIỂN SỐ XE
Ô TÔ PHỤC VỤ PHÒNG CHỐNG DỊCH COVID- 19
Họ và tên học viên : Nguyễn Quốc Long
Người hướng dẫn khoa học : TS Nguyễn Trần Quốc Vinh
Cơ sở đào tạo : Trường đại học Sư Phạm – Đại học Đà Nẵng
A Study on the Application of License Plate Recognition to Assist
in the Fight Against against COVID-19
Trang 6đặt và xử lý hình ảnh tại máy tính Local và xử lý thông tin đăng kí biển số của
xe ô tô tại website trực tuyến Qua kết quả thử nghiệm, mô hình chạy thử nghiêm có độ chính xác cao Hầu như sẽ nhận diện được tất cả các biển số xe khi quét qua Một số xe đi quá nhanh hoặc hình ảnh không rõ sẽ khó có thể nhận diện chính xác được số trên biển số xe Hướng phát triển của nghiên cứu là tiếp tục cải tiến thêm về nhận diện biển số xe trên đường cao tốc Bên cạnh đó, học viên tiếp tục tìm hiểu thêm các thuật toán học máy khác cũng như xem xét bổ sung các thư viện nhận diện nhằm làm cho độ chính xác của việc nhận diện trở nên dễ dàng hơn
Từ khóa: Học khoanh vùng, Học có giám sát, OpenCV, Nhận diện biển số xe
Xác nhận của giảng viên hướng dẫn Người thực hiện đề tài
Trang 7Name of thesis:
A Study on the Application of License Plate Recognition to Assist
in the Fight Against against COVID-19
Full name of Master student : Nguyen Quoc Long
Supervisors : Dr Nguyen Tran Quoc Vinh
Training institution : University of Education – University of Da Nang
Abstract:
The COVID-19 pandemic has been and continues to be a special challenge not only for Vietnam but also for all of humanity It has been and is seriously threatening the safety and health of our people Currently, the government has come up with a solution to control and monitor illegal activities to spread the disease by QR code Being in the general situation of developing information technology in controlling the Covid-19 pandemic in order to strengthen the ability to monitor, trace and reduce the human load in the frontline against the epidemic is an extremely necessary job today now Therefore, students have chosen the application area of computers and technology to conduct monitoring and tracing Students chose 2 algorithms for edge detection and character encoding using OpenCV library The algorithm for detecting and zoning license plates is using a library in Python, the use of which is to detect license plates when the vehicle is approaching However, this algorithm needs high image accuracy Need a clear image and the border of the license plate is consistent with the library's data The OpenCV library is an open set of Python libraries OpenCV is designed for efficient computing and with a heavy focus on real-time applications Written with optimized C/C++, the library can take advantage of multi-core processing In this thesis, students choose the environment to install and process images at the Local computer and process the registration information of car license plates at the online website Through the test results, the test model has high accuracy Almost all license plates will be recognized
Trang 8when scanned Some cars go too fast or the image is not clear, it will be difficult
to accurately identify the number on the license plate The development direction of the research is to further improve the license plate recognition on the highway In addition, students continue to learn other machine learning algorithms as well as consider adding recognition libraries to make recognition accuracy easier
Keywords: Zoning learning, Supervised learning, OpenCV, License plate recognition
Trang 9DANH MỤC BẢNG
Bảng 2.1 Một số hàm truyền thông dụng 26
Trang 10DANH MỤC HÌNH
Hình 1.1 Biển số xe ở Việt Nam 12
Hình 2.1 Trục tọa độ đề các đi qua 2 điểm 22
Hình 2.2 Trục tọa độ đề các 22
Hình 2.3 Hệ tọa độ cực 23
Hình 2.4 Đường thẳng Hough trong tọa độ cực 23
Hình 2.5 Cấu tạo một Nơron 25
Hình 2.6 Minh họa tích chập 27
Hình 2.7 Mô hình mạng nơron tích chập 28
Hình 2.8 Tích chập trên bản đồ kích hoạt 30
Hình 2.9 Kết nối cục bộ 31
Hình 2.10 Quá trình tổng hợp 31
Hình 3.1 Mô hình nhận dạng biển số xe đề xuất 53
Hình 3.2 Mô hình bài toán 54
Hình 3.3 Lấy ảnh 54
Hình 3.4 Định vị biển số xe 55
Hình 3.5 Định vị kí tự 55
Hình 3.6 56
Hình 3.7 Kết quả thu được 56
Hình 3.8 Thư viện xử lý 57
Hình 3.9 Xử lý lấy kí tự biển số xe 57
Hình 3.10 Xử lý gởi thông báo về máy chủ 58
Hình 3.11 Xử lý trong admin 59
Hình 3.12 Xử lý đăng nhấp trong admin 59
Hình 3.13 Xử lý trong client 60
Hình 3.14 Xử lý đăng nhập client 60
Hình 3.15 Trang đăng nhập hệ thống Admin 61
Hình 3.16 Danh sách chưa được kiểm duyệt 61
Hình 3.17 Danh sách các xe đã được kiểm duyệt 62
Trang 11Hình 3.18 Trang đăng nhập và đăng kí của người dùng 62
Hình 3.19 Danh sách xe đã đăng kí 63
Hình 3.20 Model nhập lý do không thể duyệt xe 64
Hình 3.21 Model duyệt xe đăng kí 64
Hình 3.22 Danh sách trước khi duyệt 65
Hình 3.23 Danh sách sau khi duyệt 65
Hình 3.24 Danh sách trước khi hệ thống duyệt 65
Hình 3.25 Danh sách sau khi hệ thống duyệt 65
Hình 3.26.: Sơ đồ tổng quát của khối xác định vùng chứa biển số xe 66
Hình 3.27 Sơ đồ khối tách biển số 66
Hình 3.28 Các giai đoạn trong việc phân đoạn từng ký tự 67
Trang 12MỞ ĐẦU
1 Lý do chọn đề tài
Đại dịch COVID-19 đã và đang tiếp tục là một thách thức đặc biệt không chỉ với riêng Việt Nam và đối với toàn nhân loại Nó đã và đang đe dọa nghiêm trọng an toàn và sức khỏe của nhân dân ta Xã hội bị xáo trộn, kinh tế bị ảnh hưởng nặng nề, đặc biệt là với những người dân nghèo Rất nhiều gia đình đã mất việc làm, hoặc thu nhập rơi vào tình trạng hết sức bấp bênh… Đặc biệt hiện nay, Việt Nam bước vào một giai đoạn đầy thách thức khi dịch bệnh bùng phát trở lại với cường độ mạnh hơn, tốc độ lây nhiễm của chủng mới tăng gấp nhiều lần
Rõ ràng, cuộc chiến chống COVID-19 của thế giới đang bước sang giai đoạn mới Thay vì theo đuổi mục tiêu “diệt sạch virus” đặt ra hơn 1 năm trước, nhiều nước đã và đang “học cách sống chung” an toàn với dịch bệnh Và một trong những biện pháp có thể kiểm soát được khả năng lây nhiễm đó là kiểm soát các phương tiện đi lại giữa các Tỉnh/Thành phố, Quận/Huyện Để kiểm soát các vấn đề đó thì Thành phố Đà Nẵng đã triển khai hệ thống giấy đi đường bằng
mã QR CODE (Công văn số 2552/STTTTCNTT ngày 03/9/2021 của Sở TT&TT) Tuy nhiên, điều này lại đòi hỏi phải tốn một nguồn nhân lực rất lớn để chặn và chốt các điểm tại Thành phố, nhất là các vị trí cửa ngõ và rất khó truy vết dữ liệu
Nằm trong thực trạng chung về phát triển công nghệ thông tin trong việc kiểm soát đại dịch Covid-19 nhằm tăng cường khả năng giám sát, truy vết và giảm tải nhân lực trong tuyến đầu chống dịch là một việc làm vô cùng cần thiết hiện nay
Vì vậy, tôi chọn đề tài: “ỨNG DỤNG NHẬN DẠNG BIỂN SỐ XE TRONG PHÒNG CHỐNG ĐẠI DỊCH COVID-19” làm luận văn thạc sĩ của mình
2 Mục tiêu nghiên cứu
- Xây dựng hệ thống giả lập trong việc nhận dạng và xử lý biển số xe ô tô
nhằm phục vụ phòng chống dịch Covid-19
- Xây dựng ứng dụng phần mềm đồng bộ với cơ sở dữ liệu về thông tin biển số xe để kiểm soát các xe ô tô đang lưu thông và gửi thông báo đến cơ quan
Trang 13chức năng trong việc hỗ trợ phòng chống dịch Covid-19
3 Đối tượng và phạm vi nghiên cứu
3.1 Đối tượng nghiên cứu
- Tìm hiểu về framework laravel để xây dựng hệ thống website trong việc
cấp và quản lý việc cấp giấy đi đường
- Tìm hiểu về OpenCV trong việc nhận dạng biển số xe ô tô
- Tìm hiểu về các phương pháp giảm nhiễu, tìm biên và mô hình mạng
nơron
3.2 Phạm vi nghiên cứu
- Giới hạn trong việc nhận dạng biển số xe và kiểm soát giấy đi đường
- Sử dụng phương pháp trích chọn đặc trưng
- Nghiên cứu các phương pháp nhận diện biển số xe, phân lớp dữ liệu
4 Phương pháp nghiên cứu
4.1 Phương pháp lý thuyết
- Cơ sở lý thuyết về các kỹ thuật nhận diện biển số xe
- Một số thuật toán để lấy hình ảnh về dạng text
4.2 Phương pháp thực nghiệm
- Thu thập dữ liệu mẫu
- Huấn luyện dữ liệu, lựa chọn các đặc trưng
- Cài đặt, thực nghiệm, đánh giá kết quả
5 Ý nghĩa thực tiễn của đề tài
Đề tài này có thể được phát triển để áp dụng trong thực tế, hoặc phát triển theo các hướng áp dụng trong các việc dò tìm biển số xe, kiểm soát các phương tiện,
6 Kết quả dự kiến
6.1 Lý thuyết
- Khái quát về xử lý ảnh và cách phát hiện các vùng có biển số xe
- Bài toán nhận dạng ký tự và mạng nơron nhân tạo
6.2 Thực tiễn
- Xây dựng chương trình Demo trong việc cấp/xử lý/kiểm soát giấy đi
Trang 14đường
- Xây dựng chương trình Demo nhận dạng biển số ô tô từ hình ảnh camera
- Kết quả thực hiện xong sẽ ứng dụng tích hợp trong việc kiểm soát đại dịch Covid-19 hiện nay tại Thành phố Đà Nẵng
7 Kết cấu của luận văn
Chương 1 Tổng quan về bài toán nhận dạng biển số xe
Dựa trên các nội dung thu thập và phân loại về hệ thống nhận dạng biển số
xe giúp chúng ta có định hướng rõ ràng và đưa ra các phương pháp áp dụng nhận dạng Đã giải quyết được vấn đề phát hiện vùng chứa biển số xe và nhận dạng ký tự trong biển số Với bài toán phát hiện vùng chứa biển số cách tiếp cận theo phương pháp hình thái học để phát hiện vùng biển số cho các biển đăng ký
xe Bài toán nhận dạng ký tự sẽ sử dụng mô hình mạng nơron tích chập để tiến hành nhận dạng
Chương 2 Giải pháp nhận dạng biển số xe phục vụ phòng chống dịch Covid-19
Đại dịch Covid-19 vẫn đang diễn biến hết sức phức tạp vì thế Chính phủ đã
có những thay đổi và thích nghi trong đổi đối phó với tình hình dịch bệnh Một trong những phương pháp đã thực hiện đó là phong toả Vì thế việc xây dựng hệ thống nhận dạng biển số xe là giải pháp rất cần thiết trong việc phục vụ phòng chống dịch Covid-19
Chương 3 Xây dựng chương trình và đánh giá bài toán
Xây dựng hệ thống sẽ nhận các dữ liệu từ các camera giám sát trên đường gửi
về và xử lý tách các biển số xe được quét Sau đó dữ liệu sẽ được đối chiếu tự động với cơ sở dữ liệu đã được đăng ký từ đó thông báo tới các cơ quan chức năng có thẩm quyền để kiểm soát việc di chuyển của người dân nhằm phục vụ phòng chống dịch Covid-19
Trang 15CHƯƠNG 1 TỔNG QUAN VỀ BÀI TOÁN NHẬN DẠNG BIỂN SỐ XE
1.1 Khái quát về xử lý ảnh và bài toán nhận dạng
Xử lý ảnh là một trong những mảng quan trọng nhất trong kỹ thuật thị giác máy tính, là tiền đề cho nhiều nghiên cứu thuộc lĩnh vực này Hai nhiệm vụ cơ bản của quá trình xử lý ảnh là nâng cao chất lượng thông tin hình ảnh và xử lý
số liệu cung cấp cho các quá trình khác trong đó có việc ứng dụng thị giác vào điều khiển
Quá trình bắt đầu từ việc thu nhận ảnh nguồn (từ các thiết bị thu nhận ảnh dạng số hoặc tương tự) gửi đến máy tính Dữ liệu ảnh được lưu trữ ở định dạng phù hợp với quá trình xử lý Người lập trình sẽ tác động các thuật toán tương ứng lên dữ liệu ảnh nhằm thay đổi cấu trúc ảnh phù hợp với các ứng dụng khác nhau
1.2.1 Định nghĩa về bài toán nhận dạng:
Nhận dạng là quá trình phân loại các đối lượng được biểu diễn theo mô hình nào đó và gán cho chúng vào một lớp dựa theo những quy luật và các mẫu chuẩn
Quá trình nhận dạng dựa vào mẫu học biết trước gọi là nhận dạng có thầy (supervised learning) và trường hợp còn lại là học không thầy (non supervised learning)
Nhận dạng là một bài toán quan trọng trong ngành thị giác máy tính
a Khó khăn trong việc nhận dạng
Đối với con người, việc nhân dạng trong ảnh không phải là việc khó khăn, nhưng đối với một hệ thống nhân tạo thì việc nhân dạng đòi hỏi phải giải quyết
Trang 16rất nhiều vấn đề như:
- Sự xuất hiện hoặc thiếu một số thành phần: Các thành phần miêu tả đối tượng có thể xuất hiện hoặc không trong hình ảnh làm cho bài toán nhận dạng trở nên khó khăn hơn nhiều
- Tư thế, góc chụp: Ảnh chụp có thể thay đổi rất nhiều khi thay đổi góc chụp giữa camera với đối tượng Chẳng hạn như chụp thẳng, chụp xéo
- Sự biến dạng của đối tượng: Biến dạng của đối tượng cũng có thể làm ảnh hưởng đến các thông số của đối tượng đó
- Sự che khuất: Đối tượng có thể bị che khuất bởi các đối tượng khác
- Sự phức tạp của hình nền: Hình nền phức tạp cũng sẽ khiến cho việc nhận dạng trở nên khó khăn
- Điều kiện của ảnh: Ảnh chụp trong các điều kiện khác nhau về ánh sáng, camera, ảnh hưởng rất nhiều đến chất lượng của ảnh
b Khái niệm về nhận dạng mẫu
Nhận dạng mẫu (pattern recognition) là một ngành thuộc lĩnh vực học máy(machine learning) Nói cách khác, nó có thể được xem là việc “cần thực hiện một tác động vào dữ liệu thô mà tác động cụ thể là gì sẽ tùy thuộc vào loại
dữ liệu đó” Như vậy nó là một tập hợp các phương pháp học có giám sát (supervised learning)
Nhận dạng mẫu nhằm mục đích phân loại dữ liệu (là các mẫu) dựa trên: hoặc là kiến thức tiên nghiệm hoặc dựa vào các thông tin thống kê được trích rút
từ các mẫu có sẵn Các mẫu cần phân loại thường được biểu diễn thành các nhóm của các dữ liệu đo đạc hay quan sát được, mỗi nhóm là một điểm trong một không gian đa chiều phù hợp Đó là không gian của các đặc tính mà dựa vào
đó ta có thể phân loại
Một hệ thống nhận dạng mẫu hoàn thiện gồm có một thiết bị cảm nhận (sensor) để thu thập các quan sát cần cho việc miêu tả; một cơ chế trích rút đặc trưng để tính toán các thông tin dưới dạng số hay dạng tượng trưng từ các dữ liệu quan sát được; và một bộ phân loại nhằm thực hiện công việc phân loại thực
sự dựa vào các đặc tính đã được trích rút
Các ưng dụng phổ biến là: nhận dạng tiếng nói tự động, phân loại văn bản thành nhiều loại khác nhau (ví dụ: những thư điện tử nào là spam/ non-spam),
Trang 17nhận dạng tự động các mã bưu điện viết tay trên các bao thư, hay hệ thống nhận dạng danh tính dựa vào mặt người
1.2.2 Khái niệm nhận dạng biển số xe
+ Khái niệm và ứng dụng
Hệ thống nhận dạng biển số xe là hệ thống có khả năng phân tích hình ảnh
và xác định biển số xe thông qua video, thiết bị ghi hình và hình ảnh Sau cùng
là xác định các thông tin như: Chủ sở hữu xe, các thông tin về xe,…để đối chiếu
và so với cơ sở dữ liệu
+ Phân Loại ứng loại nhận dạng biển số xe
Ứng dụng nhận dạng biển số xe là ứng dụng có khả năng phân tích hình ảnh và xác định biển số xe từ các hình ảnh chụp được từ các thiết bị thu hình Nguồn hình ảnh cho ứng dụng có rất nhiều Và phát triển, hình ảnh được trực tiếp thu nhận từ camera Trong báo cáo tốt nghiệp của em chỉ dừng lại ở mức xác định được biển số xe (xác định các chữ) từ các bức ảnh
Có nhiều cách thức khác nhau để phân loại các ứng dụng nhận dạng biển số
xe Một trong những cách đơn giản là phân loại ứng dụng nhận dạng biển số xe thông qua mục đích sử dụng Có thể chia ứng dụng nhận dạng biển số xe thành hai loại sau:
Loại 2: Không giới hạn vùng nhìn
Đầu vào: Ảnh đầu vào thu được từ các thiết bị ghi hình tự động, không phụ thuộc vào góc độ, các đối tượng xung quanh, ảnh không cần bắt buộc chỉ chụp vùng chứa biển số xe, mà có thể ảnh tổng hợp như chứa thêm các đối tượng như người, cây, đường phố , miễn là vùng biển số xe phải đủ rõ để có thể thực hiện
Trang 18nhận dạng được các ký tự trong vùng đó
Nguyên lý hoạt động: Do đặc tính không giới hạn vùng nhìn mà ảnh đầu vào có thể thu được từ một thiết bị ghi hình (camara, máy ảnh…) Và do đó, công việc đầu tiên là dò tìm trong ảnh, để xác định đúng vùng nào là biển số xe Sau đó, thực hiện tách vùng và nhận dạng Cuối cùng tùy thuộc vào mục đích sử dụng mà kết quả nhận dạng được truyền đi hay lưu trữ để phục vụ nhu cầu của người dùng cuối
Ứng dụng: Vì không phụ thuộc vào hình ảnh thu được nên có thể dùng ứng dụng tại nhiều nơi như tại những nơi điều tiết giao thông, tại các vị trí nhạy cảm của giao thông như ngã ba, ngã tư đường giao nhau Kiểm soát, phát hiện những hành vi vi phạm an toàn giao thông
Yêu cầu về thiết bị:
tự số và chữ
1.3 Khái niệm biển số xe
Ở Việt Nam, biển kiểm soát xe cơ giới (hay còn gọi tắt là biển kiểm soát, biển số xe) là tấm biển gắn trên mỗi xe cơ giới, được cơ quan công an cấp (đối với xe quân sự do Bộ Quốc phòng cấp) khi mua xe mới hoặc chuyển nhượng xe Biển số xe được làm bằng hợp kim nhôm sắt, có dạng hình chữ nhật hoặc hơi vuông, trên đó có in số và chữ (biển xe dân sự không dùng các chữ cái I, J, O, Q,
W Chữ R chỉ dùng cho xe rơ-moóc, sơ-mi rơ-moóc) cho biết: Vùng và địa phương quản lý, các con số cụ thể khi tra trên máy tính còn cho biết danh tính người chủ hay đơn vị đã mua nó, thời gian mua nó phục vụ cho công tác an ninh, đặc biệt trên đó còn có hình Quốc huy Việt Nam dập nổi
Trang 19Từ những đặc điểm trên ta có thể thiết lập những thông số, điều khiển để lọc chọn những đối tượng phù hợp mà ta cần Các loại biển số xe hiện có ở Việt Nam:
Trang 20+ Các biển số xe đặc biệt
Cơ quan hành chính sự nghiệp
- Trực thuộc chính phủ thì là biển xanh 80
- Các tỉnh thành thì theo số tương ứng
* Biển số xe quân đội
- AT: Binh đoàn 12
- AD: Quân Đoàn 4, Binh đoàn cửu long
- BB: bộ binh
- BC: Binh chủng Công Binh
- BH: Binh chủng hoá học
- BS: Binh đoàn Trường Sơn
- BT: Binh chủng thông tin liên lạc
- QH: Quân chủng hải quân
- QK, QP: Quân chủng phòng không không quân
- TC: Tổng cục chính trị
- TH: Tổng cục hậu cần
- TK: Tổng cục công nghiệp quốc phòng
- TT:Tổng cục kỹ thuật
Trang 21- Xe số 80 NG xxx-yy là biển cấp cho các đại sứ quán, thêm gạch đỏ ở giữa
và 2 số cuối là 01 là biển xe của tổng lãnh sự
- Viện kiểm sát nhân dân tối cao
- Toà án nhân dân tối cao
- Đài truyền hình Việt Nam
- Đài tiếng nói Việt Nam
- Thông tấn xã Việt Nam
- Báo nhân dân
- Thanh tra Nhà nước
- Học viện Chính trị quốc gia
- Ban quản lý Lăng, Bảo tàng, khu Di tích lịch sử Hồ Chí Minh
- Trung tâm lưu trữ quốc gia
- Uỷ ban Dân số kế hoạch hoá gia đình
- Tổng công ty Dầu khí Việt Nam
Trang 22- Các đại sứ quán, tổ chức quốc tế và nhân viên người nước ngoài
- Uỷ ban Chứng khoán Nhà nước
- Cục Hàng không dân dụng Việt Nam
- Kiểm toán nhà nước
* Các biển A
Xe của Công An - Cảnh Sát tương ứng với các tỉnh Ví dụ: 43A = Xe của Công An - Cảnh Sát Thành phố Đà Nẵng
Hướng giải quyết cho bài toán nhận dạng
Có rất nhiều phương pháp tiếp cận Trong đó có hai cách tiếp cận phổ biến dưới đây:
+ Hướng tiếp cận phát triển vùng
Nhóm tác giả Nigel Whyte and Adrien Kiernan được đại diện cho cách tiếp cận này
Ý tưởng của phương pháp này: đó là biển số xe thường chứa một màu đồng nhất, chẳng hạn màu trắng, và có diện tích tương đối nhất định Vì vậy có thể dùng phương pháp phát triển vùng, hoặc sử dụng khung chữ nhật di chuyển trong để tìm ra vùng có tính chất thỏa mãn biển số xe và tiến hành nhận dạng
Ưu điểm: rất đơn giản, và xử lý rất nhanh đối với những ảnh chỉ chứa vùng biển số xe
Nhược điểm: khi ảnh có thêm nhiều đối tượng không phải là vùng biển số
xe, chẳng hạn là ảnh chụp tổng quát gồm cả cảnh vật bên ngoài thì cách tiếp cận này trở nên không hiệu quả Vì vậy phương pháp này rất hiệu quả đối với hệ thống trạm thu phí, trạm gác cổng, gửi xe tự động
+ Hướng tiếp cận dò biên và biến đổi Hough
Nhóm tác giả Michael Lidenbaum, Rosen Alexander, Vichik Sergey, Sandler Roman được đại diện cho cách tiếp cận này
Ý tưởng của cách tiếp cận này là: Biển số xe được bao bọc bởi đường viền
Do đó, có thể dùng phương pháp phát hiện biên, sau đó dùng phép biến đổi Hough để trích những đoạn thẳng dọc, ngang tồn tại trong ảnh Giao điểm của những đoạn thẳng này chính là vùng bao chứa biển số xe Và cuối cùng là tiến hành nhận dạng các ký tự ở trên mỗi vùng con
Trang 23Ưu điểm: độ chính xác cao Và các hệ thống nhận dạng đa phần đều phát triển theo hướng tiếp cận này
Nhược điểm: Độ phức tạp tính toán khá cao Khi ảnh có thêm nhiều đối tượng khác thì khối lượng tính toán tăng lên rất nhiều Do mục đích là phải xác định được vùng con nào chứa biển số xe
Ngoài hai cách tiếp cận trên, còn có nhiều cách tiếp cận khác để xác định chính xác vùng nào chứa biển số xe và bước cuối cùng là tiến hành nhận dạng
ký tự Mỗi cách tiếp cận có một ưu và nhược điểm Đa số các ứng dụng đều sử dụng cách tiếp cận biến đổi Hough.Trong báo cáo đề tài của em, em xin trình bày cách tiếp cận Hough
+ Phương pháp giải quyết
Với 02 phương án trên thì mỗi phương pháp đều có ưu điểm và hạn chế riêng của nó Để xác định nên sử dụng phương án nào thì ta cần xét một số đặc điểm về biển số ở Việt Nam
Hình 1.1 Biển số xe ở Việt Nam
- Tiêu chuẩn về kích thước: Ở mỗi nước thường có tiêu chuẩn về kích thước nhất định, còn riêng Việt Nam tỷ lệ kích thước giữa các biển số là gần như giống nhau Biển số xe có 2 loại, kích thước như sau: Loại biển số dài có chiều cao 110 mm, chiều dài 470 mm; loại biển số ngắn có chiều cao 200 mm, chiều dài 280 mm nên ta sẽ giới hạn tỷ lệ cao/rộng là 3.5 ≤ cao/rộng ≤ 6.5 (biển một hàng) và 0.8 ≤ cao/rộng ≤ 1.5 (biển hai hàng)
Từ những nhận xét trên, chúng ta có thể đưa ra giải pháp cho bài toán nhận dạng: sử dụng phương pháp phát hiện biên và biến đổi Hough Sau đó, sử dụng hai tính chất trên biển số xe để xác định chính xác vùng con chứa biển số xe
Trang 24Khi đã xác định chính xác vùng con chứa biển số xe thì tiến hành nhận dạng các
ký tự
1.4 Một số hướng giải quyết của bài toán
1.4.1 Hướng tiếp cận phát triển vùng
Nhóm tác giả Nigel Whyte and Adrien Kiernan được đại diện cho cách tiếp cận này
Ý tưởng của phương pháp này: đó là biển số xe thường chứa một màu đồng nhất, chẳng hạn màu trắng, và có diện tích tương đối nhất định Vì vậy có thể dùng phương pháp phát triển vùng, hoặc sử dụng khung chữ nhật di chuyển trong để tìm ra vùng có tính chất thỏa mãn biển số xe và tiến hành nhận dạng
Ưu điểm: rất đơn giản, và xử lý rất nhanh đối với những ảnh chỉ chứa vùng biển số xe
Nhược điểm: khi ảnh có thêm nhiều đối tượng không phải là vùng biển số
xe, chẳng hạn là ảnh chụp tổng quát gồm cả cảnh vật bên ngoài thì cách tiếp cận này trở nên không hiệu quả Vì vậy phương pháp này rất hiệu quả đối với hệ thống trạm thu phí, trạm gác cổng, gửi xe tự động
1.4.2 Hướng tiếp cận dò biên và biến đổi Hough
Nhóm tác giả Michael Lidenbaum, Rosen Alexander, Vichik Sergey, Sandler Roman được đại diện cho cách tiếp cận này
Ý tưởng của cách tiếp cận này là: Biển số xe được bao bọc bởi đường viền
Do đó, có thể dùng phương pháp phát hiện biên, sau đó dùng phép biến đổi Hough để trích những đoạn thẳng dọc, ngang tồn tại trong ảnh Giao điểm của những đoạn thẳng này chính là vùng bao chứa biển số xe Và cuối cùng là tiến hành nhận dạng các ký tự ở trên mỗi vùng con
Ưu điểm: độ chính xác cao Và các hệ thống nhận dạng đa phần đều phát triển theo hướng tiếp cận này
Nhược điểm: Độ phức tạp tính toán khá cao Khi ảnh có thêm nhiều đối tượng khác thì khối lượng tính toán tăng lên rất nhiều Do mục đích là phải xác định được vùng con nào chứa biển số xe
Ngoài hai cách tiếp cận trên, còn có nhiều cách tiếp cận khác để xác định chính xác vùng nào chứa biển số xe và bước cuối cùng là tiến hành nhận dạng
Trang 25ký tự Mỗi cách tiếp cận có một ưu và nhược điểm Đa số các ứng dụng đều sử dụng cách tiếp cận biến đổi Hough.Trong báo cáo đề tài của em, em xin trình bày cách tiếp cận Hough
1.4.3 Phân ngưỡng và tím vùng đối tượng (hướng tiếp cận của luận văn)
Ý tưởng: nhận thấy các vùng biển số là các vùng đặc trưng có hình chữ nhật, có tỉ lệ kích thước theo tiêu chuẩn Vì vậy sau khi tách ngưỡng và tìm vùng (OpenCV hỗ trợ findContourns) ta tìm những vùng có tỷ lệ theo kích thước giống với tỉ lệ của biển số xe Để có thể lọc các vùng biển số một lần nữa thì ta tiếp tục tìm số vùng con trên vùng biển số và so sánh với số lượng ký tự của biển số
1.5 Phát hiện vùng chứa biển số xe
1.5.1 Một số khái niệm cơ bản
a Tổng quan về ảnh
+ Ảnh và điểm ảnh
Ảnh là mảng số thực hai chiều ( )I m,n , có kích thước (MxN), trong đó mỗi giá trị ( )I m,n (tại một điểm ảnh), biểu thị mức xám của ảnh tại vị trí (m, n) tương ứng
Một ảnh là ảnh nhị phân nếu giá trị ( )I m,n bằng 0 hoặc 1
+ Đối tượng ảnh
Trong phần này ta chỉ xét với ảnh nhị phân, vì mọi ảnh nhị phân đều có thể đưa về ảnh nhị phân bằng các kỹ thuật phân ngưỡng Ta ký hiệu E là tập các điểm vùng (điểm đen) và E là tập các điểm nền (điểm trắng) Hai điểm Is và Ie
( )I m,n nằm trong E (hoặc E) được gọi là 4 liên thông (8 liên thông) nếu tồn tại một dãy các điểm gọi là đường đi:
Trang 26trên, dưới, phải, và trái Ta ký hiệu N4 là tập 4 láng giềng của điểm (m, n)
N4 = (m− 1 ,n) (, m+ 1 ,n) (, m,n− 1) (, m,n+ 1)
Tương tự ta có tập 8- láng giềng N8
N8 =N4 (m+ 1 ,n+ 1) (, m− 1 ,n− 1) (, m+ 1 ,n− 1) (, m− 1 ,n+ 1)
+ Chu tuyến ảnh:
Định nghĩa chu tuyến:
Chu tuyến của một đối tượng ảnh ( )I m,n là dãy các điểm của đối tượng:
n p p
p0 → 1 → → Sao cho p i−1, p i+1 là 8 láng giềng của p i, p ' I
và p’ là 4 láng giềng của pi, và p 0 p n Khi đó ta gọi n là độ dài hay chu vi của chu tuyến
+ Chu tuyến đối ngầu:
Hai chu tuyến C=<P1, P2, …, Pn> và C’= <Q1, Q2, …, Qn > được gọi là hai chu tuyến đối ngẫu của nhau nếu và chỉ nếu:
• i j sao cho Pi và Qj là 8 láng giềng của nhau
• Các điểm Pi là ảnh thì Qj là nền và ngược lại
+ Chu tuyến trong:
Chu tuyến C được gọi là chu tuyến trong nếu và chỉ nếu:
• Chu tuyến đối ngẫu C’ của nó là chu tuyến của các điểm nến
• Độ dài của chu tuyến C’ nhỏ hơn độ dài của chu tuyến C
+ Chu tuyến ngoài:
Chu tuyến C được gọi là chu tuyến ngoài nếu và chỉ nếu:
• Chu tuyến đối ngẫu C’ của C là chu tuyến các điểm nền
• Độ dài của chu tuyến C’ lớn hơn độ dài của chu tuyến C
Từ định nghĩa, ta thấy chu tuyến ngoài của một đối tượng là một đa giác
có độ dày bằng một bao quanh đối tượng
t
Trong đó: P – Số điểm ảnh được xét= m*n
G – Số mức xám được xét
Trang 27i iP g
t
i ih g
g t g
f
( )g f
max
arg
=
với 0 g G - 1
Vậy suy ra là ngưỡng của ảnh
1.5.2 Biên và các phương pháp phát hiện biên
a Khái niệm
+ Khái niệm về biên
Biên là một vấn đề chủ yếu trong phân tích ảnh vì các kỹ thuật phân đoạn ảnh chủ yếu dựa vào biên Một điểm ảnh có thể coi là điểm biên nếu có sự thay đổi đột ngột và mức xám hay biên là điểm có cấp xám có giá trị khác hẳn các điểm xung quanh Tập hợp các điểm biên tạo thành biên hay đường bao của ảnh
+ Phương pháp tiếp cận kiểu cổ điển
Đây là phương pháp dựa vào sự biến thiên về giá trị độ sang của điểm ảnh
Kỹ thuật chủ yếu dùng phát hiện biên ở đây là kỹ thuật đạo hàm Nếu lấy đạo hàm bậc nhất của ảnh ta có phương pháp Gradient, nếu lấy đạo hàm bậc hai ta co kỹ thuật Laplace Hai phương pháp trên được gọi là phương pháp dò biên cục bộ
b Phương pháp Gradient
Dựa vào cực đại hóa của đạo hàm Theo định nghĩa, gradient là một vecto
có các thành phần biểu thị tốc độ thay đổi giá trị của điểm ảnh theo 2 hướng x và
y Các thành phần của Gradient được tính bởi:
dx
y x f y dx x f fx x
y x
y x
f r
f
+
Trang 28sin (
y
f r
x
f r
f
+
Với dx là khoảng cách giữa các điểm theo hướng x (khoảng cách tính bằng
số điểm) và tương tự với dy Trên thực tế người ta hay dùng với dx= dy= 1
Với một ảnh liên tục f(x, y), các đạo hàm riêng của nó cho phép xác định vị trí cục bộ theo hướng của biên Thực vậy, gradient của một ảnh liên tục, được biểu diễn bởi một hàm f(x,y), dọc theo r với góc , được định nghĩa bởi:
dr
dy y
f dr
dx x
f dr
df
+
Kỹ thuật Gradient sử dụng một cặp mặt nạ H1 và H2 trực giao (theo 2 hướng vuông góc) Nếu định nghĩa g1, g2 là gradient tương ứng theo 2 hướng x
và y, thì biên độ của gradient, ký hiệu là g tại điểm (m,n) được tính theo công thức:
A0= g(m,n)= g12(m,n) +g22(m,n) (1)
)) , ( / ) , ( ( tan ) , (m n = −1 g2 m n g1 m n
Chú ý: để giảm tính toán, công thức (1) được tính gần đúng bởi:
) , ( ) ,
2 2 2
2 2
dy
f dx
f
f = +
Vậy suy ra ta có:
Trang 29( ) ( )
( ) f(x y) ( )f x y f( ) (x y f x y)
x
y x f y x f x
f x x
f
, 1 ,
, ,
1 ,
, 1
− +
− +
=
y x f y x f y
x f y
1 4
1
0 1 0
1
1 8
1
1 1
2 5
2
1 2 1
= I(x+1, y+1)- I(x+1, y)
+ I(x+1, y+1)- I(x, y+1)
+ I(x+1, y+1)- I(x+2, y+1)
+ I(x+1, y+1) – I(x+1, y+2)
x
y x I y
y x I x
y x I y
y x I
+ +
−
+ +
2
1 , 1 1
, 1
y
y x I x
y x I
+ +
−
+ +
−
Trang 301.5.3 Phát hiện vùng chứa biển số xe
Sơ đồ các bước được mô tả trong hình dưới
Ảnh đầu vào: là một ảnh có 256 mức xám, được nhị phân hóa thành ảnh nhị phân Mục đích của giai đoạn nhị phân hóa ảnh là nhằm làm nổi bật vùng biển số xe Khi ta tách biên, vùng bao của biển số xe sẽ hiện lên rõ ràng Sau đó dùng phương pháp phát hiện biên để có được biên dọc và ngang của ảnh Kết quả của công đoạn này, ảnh thu được là ảnh nhị phân chỉ chứa các cạnh dọc và ngang Thực hiện biến đổi Hough cho các đoạn biên vừa lấy được và xác định các đoạn thẳng đi qua tập các điểm biên của mỗi biên, kết quả sẽ là các đoạn thẳng ngang và dọc Giao của những đoạn thẳng này sẽ cho ra vùng con Ic
a Nhị phân hóa ảnh
Ảnh ban đầu được sử dụng là ảnh 256 mức xám Việc sử dụng ảnh 256 mức xám không làm giảm đi tính đa năng của ứng dụng Trên thực tế, ảnh 256 mức xám vẫn được sử dụng nhiều, và nhiều thiết bị ghi hình cũng có khả năng
Trang 31tự chuyển ảnh màu thành ảnh 256 mức xám Tuy nhiên, nếu để ảnh 256 mức xám thì việc phát hiện biên không hiệu quả, vì sự thay đổi liên tục của các mức xám làm cho việc xác định biên không phải dễ dàng, và việc tìm ra các vùng liên tục của biên khá hạn chế Vì vậy, chúng ta thực hiện chuyển ảnh về dạng nhị phân để thực hiện việc lấy biên nhanh hơn
void Binarize// Nhị phân hóa
ảnh {
// Ảnh đầu vào: ảnh 256 mức xám
// Đầu ra là ảnh nhị phân
P: là tổng số điểm ảnh được xét (m,n) g(j,j)
tương ứng là mức xám của điểm ảnh I(i,j)
: là ngưỡng của ảnh được xác định theo phương pháp ở trên
for(int i= 0; i< m; i++)
for(int j= 0; j< n; j++) if(g(i, j)<= )
Ic(I, j)= 0
}else Ic(I, j)= 1
} Vậy ta thu được ảnh nhị phân Ic, ảnh nhị phân thu được vẫn đảm bảo tách biệt giữa vùng chứa biển số xe với vùng xung quanh Đồng thời loại bỏ những vùng đồng nhất và ít biến thiên
b Tách biên
Vì biển số xe có viền bao quanh, nên chúng ta cần làm nổi bật đường biên
(boundary) Các đường biên có thể được xem là các cạnh dọc và ngang Mục đích của giai đoạn này là tách ra các cạnh dọc và ngang để tìm ra vùng con chứa biển số xe nhờ tính giao điểm của các cạnh dọc và ngang Ở đây, ảnh đầu vào là ảnh nhị phân, nên thích hợp với phương pháp đạo hàm bậc nhất Dùng hai ma trận Sobel theo hai hướng x(dọc) và y(ngang) để tách các cạnh của ảnh
P: là tổng số điểm ảnh được xét (m,n) g(j,j)
tương ứng là mức xám của điểm ảnh I(i,j)
Trang 32: là ngưỡng của ảnh được xác định theo phương pháp ở trên
Kết quả thu được, một ảnh cạnh dọc Ix và một cạnh ngang Iy Có thể xem ảnh ở
dưới với phương pháp Sobel
c Biến đổi HOUGH
Biến đổi Hough là phương pháp dùng để xác định đường thẳng (đường
tròn elip) gần đúng đi qua một tập hợp điểm
Với (x,y) là một điểm y mx c c mx y
Như vậy nếu có N điểm nằm
x i m
Thay vì tìm N điểm trên đường thẳng, người ta xét tất cả các điểm, xem điểm nào có nhiều đường thẳng đi qua nhất
N i
y c
Trang 33Hình 2.1 Trục tọa độ đề các đi qua 2 điểm
x
y
c
tm c
m
y
x
c m c
Trang 34N M
với M và N là chiều cao và chiều rộng của ảnh
Lấy tại tâm ảnh
y x
r neu y
x
r
r a r
sin cos
,
,
0 ,
(p i, i)
Hình 2.4 Đường thẳng Hough trong tọa độ cực
Biến đổi Hough ánh xạ N điểm này thành N đường sin trong tọa độ cực
mà các đường này đều đi qua điểm (r i, i) Giao điểm (r i, i) của N đường sin sẽ xác định một đường thẳng trong hệ tọa độ các Như vậy, những đường thẳng đi
( x,y )
r
x1,y1
x2,y2 Biến dổi Hough
Trang 35qua điểm (x , i y i) sẽ cho duy nhất một cặp (r i, i) và có bao nhiêu đường qua
(x , i y i) sẽ có bấy nhiêu cặp giá trị (r i, i) Mục đích là tìm ra cặp ( )r, sao cho số đường hình sin đi qua nhiều nhất, và cặp đó chính là cặp tham số cho đường thẳng
d Trích chọn đoạn thẳng và tính giao điểm
Sau khi xây dựng các đường thẳng Hough, chúng ta thu được hai tập đường thẳng: tập đường thẳng dọc và tập đường ngang các ảnh nhị phân cạnh dọc và ngang Tiếp theo, chúng ta xác định giao điểm của các đường này này để tạo thành các vùng con là các tứ giác có khả năng chứa biển số xe Tuy nhiên, lượng vùng con có được là rất nhiều Do vậy, chúng ta thay vì tính giao điểm của các đường thẳng, mà chúng ta sẽ thực hiện việc tính giao điểm của các đoạn
thẳng Các đoạn thẳng chính là các đoạn đi qua tập hợp điểm được xác định thông qua đường thẳng Hough Việc xác định các đoạn thẳng này là đơn giản thông qua hai đầu mút của đoạn thẳng Một cách đơn giản, ta có thể xem đầu mút trên (hoặc bên trái) là điểm trong tập hợp điểm nằm trên đường thẳng Hough có tổng tọa độ theo trục x và y là nhỏ nhất Điểm đầu mút dưới (hoặc
bên phải) là điểm nằm trong tập hợp điểm nằm trên đường thẳng Hough có tổng tọa độ theo x và y là lớn nhất Để đảm bảo rằng các đường thẳng dọc, ngang (từ ảnh cạnh dọc, ngang) có thể cắt nhau như trong thực tế, chúng ta cần mở rộng các đoạn thẳng về hai hướng mỗi đoạn 5 điểm Như vậy đoạn thẳng mà chúng ta
sử dụng so với đoạn thẳng thực tế sx dài hơn nhiều hơn khoảng 10 điểm Kết quả của phép biến đổi Hough và trích chọn đoạn thẳng được mô tả trong hình
dưới
1.6 Hướng giải quyết bài toán và mạng nơron nhân tạo
Định nghĩa: Mạng nơron nhân tạo, Artificial Nơron Network (ANN) là
một mô hình xử lý thông tin phỏng theo cách thức xử lý thông tin của các hệ nơron sinh học Nó được tạo nên từ một số lượng lớn các phần tử (nơron) kết nối với nhau thông qua các liên kết (trọng số liên kết) làm việc như một thể thống nhất để giải quyết một vấn đề cụ thể nào đó Một mạng nơron nhân tạo được cấu hình cho một ứng dụng cụ thể (nhận dạng mẫu, phân loại dữ liệu, ) thông qua một quá trình học từ tập các mẫu huấn luyện Về bản chất học chính
là quá trình hiệu chỉnh trọng số liên kết giữa các nơron
Trang 36Cấu trúc nơron nhân tạo:
Hình 2.5 Cấu tạo một Nơron
Các thành phần cơ bản của một nơron nhân tạo bao gồm:
Tập các đầu vào: Là các tín hiệu vào (input signals) của nơron, các tín hiệu này thường được đưa vào dưới dạng một vector N chiều
Tập các liên kết: Mối liên kết được thể hiện bởi một trọng số liên kết – Synaptic weight Trọng số liên kết giữa tín hiệu vào thứ j với nơron k thường được ký hiệu là wkj Thông thường, các trọng số này được khởi tạo một cách ngẫu nhiên ở thời điểm khởi tạo mạng và được cập nhập liên tục trong quá trình học mạng
Bộ tổng (Summing function): Thường dùng để tính tổng của tích các đầu vào với trọng số liên kết của nó
Ngưỡng (còn gọi là một độ lệch - bias): Ngưỡng này thường được đưa vào như một thành phần của hàm truyền
Hàm truyền (Transfer function): Hàm này được dùng để giới hạn phạm vi đầu ra của mỗi nơron Nó nhận đầu vào là kết quả của hàm tổng và ngưỡng Đầu ra: Là tín hiệu đầu ra của một nơron, với mỗi nơron sẽ có tối đa là một đầu ra Xét về mặt toán học, cấu trúc của một nơron k, được mô tả bằng cặp biểu thức sau:
Trang 37Hàm này cũng được biết đến với tên
"Hàm ngưỡng" (Threshold function hay Heaviside function) Đầu ra của hàm này được giới hạn vào một trong hai giá trị:
Linear (purelin)
Nếu coi các đầu vào là một đơn vị thì chúng sẽ sử dụng hàm này Đôi khi một hằng số được nhân với net-input để tạo
Log- Sigmoid
(logsig)
Hàm này đặc biệt thuận lợi khi sử dụng cho các mạng được huấn luyện (trained) bởi thuật toán Lan truyền ngược (back- propagation), bởi vì nó dễ lấy đạo hàm,
do đó có thể giảm đáng kể tính toán trong quá trình huấn luyện Hàm này được ứng dụng cho các chương trình ứng dụng mà các đầu ra mong muốn rơi vào khoảng [0,1]
Trang 381.6.1 Mạng nơron tích chập
a Định nghĩa mạng nơron tích chập
Tích chập được ứng dụng phổ biến trong lĩnh vực thị giác máy tính Thông qua các phép tích chập, các đặc trưng chính từ ảnh được chiết xuất và
truyền vào các lớp tíchchập (layer convolution) Mỗi một lớp tích chập sẽ bao
gồm nhiều đơn vị mà kết quả ở mỗi đơn vị là một phép biến đổi tích chập từ layer trước đó thông qua phép nhân tích chập với bộ lọc
b Convolution (tích chập)
Tích chập là một khái niệm trong xử lý tín hiệu số nhằm biến đổi thông
tin đầu vào thông qua một phép tích chập với bộ lọc để trả về đầu ra là một tín hiệu mới Tín hiệu này sẽ làm giảm những đặc trưng mà bộ lọc không quan tâm
và chỉ giữ những đặc trưng chính
Hình 2.6 Minh họa tích chập
Ảnh đầu vào được cho qua một bộ lọc chạy dọc bức ảnh Bộ lọc có kích thước là (3x3 hoặc 5x5) và áp dụng phép tích vô hướng để tính toán, cho ra một
Trang 39giá trị duy nhất Đầu ra của phép tích chập là một tập các giá trị ảnh được gọi là mạng đặc trưng (features map)
b.1 Mô hình mạng nơron tích chập
Hình 2.7 Mô hình mạng nơron tích chập
CNNs có tính bất biến và tính kết hợp cục bộ (Location Invariance and Compositionality) Với cùng một đối tượng, nếu đối tượng này được chiếu theo các góc độ khác nhau (translation, rotation, scaling) thì độ chính xác của thuật toán sẽ bị ảnh hưởng đáng kể Pooling lớp sẽ cho bạn tính bất biến đối với phép dịch chuyển (translation), phép quay (rotation) và phép co giãn (scaling)
Về cơ bản thiết kế của một mạng nơ ron tích chập 2 chiều có dạng như sau:
INPUT -> [[CONV -> RELU]N -> POOL?]M -> [FC -> RELU]*K -> FC
Trong đó:
• Input: Lớp đầu vào
• Conv Layer (Lớp tích chập): Mục tiêu của các lớp tích chập là trích chọn các
đặc trưng của ảnh đầu vào
• ReLU Layer (Lớp biến đổi): ReLU layer áp dụng các kích hoạt (activation
function) max(0,x) lên đầu ra của Conv Layer, có tác dụng đưa các giá trị âm về thành
0 Layer này không thay đổi kích thước của ảnh và không có thêm bất kỳ tham số nào Mục đích của lớp ReLu là đưa ảnh một mức ngưỡng, ở đây là 0 Để loại bỏ các giá trị
âm không cần thiết mà có thể sẽ ảnh hưởng cho việc tính toán ở các layer sau đó
• Pool layer (Lớp tổng hợp): Pool Layer thực hiện chức năng làm giảm chiều
không gian của đầu và giảm độ phức tạp tính toán của model ngoài ra Pool Layer còn giúp kiểm soát hiện tượng overffiting Thông thường, Pool layer có nhiều hình thức khác nhau phù hợp cho nhiều bài toán, tuy nhiên Max Pooling là được sử dụng nhiều
Trang 40vào phổ biến hơn cả với ý tưởng cũng rất sát với thực tế con người đó là: Giữ lại chi
tiết quan trọng hay hiểu ở trong bài toán này chính giữ lại pixel có giá trị lớn nhất
• Fully_Connected (Lớp kết nối hoàn toàn): Tại lớp mạng này, mỗi một nơ-ron
của layer này sẽ liên kết tới mọi nơ-ron của lớp khác Để đưa ảnh từ các layer trước vào mạng này, buộc phải dàn phẳng bức ảnh ra thành 1 vector thay vì là mảng nhiều chiều như trước Tại layer cuối cùng sẽ sử dụng 1 hàm kinh điển trong học máy mà bất
kì ai cũng từng sử dụng đó là softmax để phân loại đối tượng dựa vào vector đặc trưng
đã được tính toán của các lớp trước đó
Các kí hiệu []N, []M hoặc []*K ám chỉ cấu trúc bên trong [] có thể lặp lại
nhiều lần liên tiếp nhau M, K là số lần lặp lại Kí hiệu -> đại diện cho các lớp liền kề nhau mà lớp đứng trước -> sẽ làm đầu vào cho lớp đứng sau
Như vậy ta có thể thấy một mạng nơron tích chập về cơ bản có 3 quá trình khác nhau:
Quá trình chiết xuất đặc trưng: Thông qua các tích chập giữa ma trận đầu vào với
bộ lọc để tạo thành các đơn vị trong một lớp mới Quá trình này có thể diễn
ra liên tục ở phần đầu của mạng và thường sử dụng hàm kích hoạt relu
Quá trình tổng hợp: Các lớp ở về sau quá trình chiết xuất đặc trưng sẽ có kích thước lớn do số đơn vị ở các lớp sau thường tăng tiến theo cấp số nhân Điều đó làm tăng số lượng hệ số và khối lượng tính toán trong mạng nơ ron Do
đó để giảm tải tính toán chúng ta sẽ cần giảm chiều của ma trận hoặc giảm số đơn vị của lớp Vì mỗi một đơn vị sẽ là kết quả đại diện của việc áp dụng 1 bộ lọc để tìm ra một đặc trưng cụ thể nên việc giảm số đơn vị sẽ không khả thi Giảm kích thước ma trận thông qua việc tìm ra 1 giá trị đại diện cho mỗi một vùng không gian mà bộ lọc đi qua sẽ không làm thay đổi các đường nét chính của bức ảnh nhưng lại giảm được kích thước của ảnh Do đó quá trình giảm chiều ma trận được áp dụng Quá trình này gọi là tổng hợp
Quá trình kết nối hoàn toàn: Sau khi đã giảm số lượng tham số đến một mức độ hợp lý, ma trận cần được làm dẹt (flatten) thành một vector và sử dụng các kết nối hoàn toàn giữa các lớp Quá trình này sẽ diễn ra cuối mạng tích chập
và sử dụng hàm kích hoạt là relu Kết nối cuối cùng sẽ dẫn tới các đơn vị là đại diện cho mỗi lớp với hàm kích hoạt là softmax nhằm mục đích tính xác suất