Tải bản đầy đủ (.docx) (62 trang)

Xây dựng ứng dụng nhận diện biển kiểm soát phương tiện giao thông (Luận văn thạc sĩ)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.38 MB, 62 trang )

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
--------------------------------------HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
---------------------------------------

ĐẶNG KIM THÀNH
ĐẶNG KIM THÀNH

XÂY DỰNG ỨNG DỤNG NHẬN DIỆN BIỂN KIỂM SOÁT
XÂY DỰNG ỨNG DỤNG NHẬN DIỆN BIỂN KIỂM SOÁT
PHƯƠNG TIỆN GIAO THÔNG
PHƯƠNG TIỆN GIAO THÔNG

Chuyên ngành : KỸ THUẬT VIỄN THÔNG
LUẬN VĂN THẠC SĨ KỸ THUẬT
Mã số
: 8.52.02.08
(Theo định hướng ứng dụng)
LUẬN VĂN THẠC SĨ KỸ THUẬT
(Theo định hướng ứng dụng)
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. NGUYỄN NGỌC MINH

HÀ NỘI - 2020

HÀ NỘI - 2020


2

LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu của riêng tôi.
Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai


công bố trong bất kỳ công trình nào khác.

Đặng Kim Thành


3

MỤC LỤC


4

DANH MỤC BẢNG BIỂU, HÌNH ẢNH


5

DANH MỤC TỪ VIẾT TẮT
AI: Artifical Intelligence

Trí tuệ nhân tạo

ANN: Artificial Neural Network

Mạng nơ-ron nhân tạo

CAP: Credit assignment path

Đường gán kế thừa


CNN: Convolutional Neural Network

Mạng nơ-ron tích chập

DL: Deep learning

Học sâu

DN: Development Network

Mạng phát triển

HOG: Histogram of oriented gradient

Biểu đồ định hướng

ML: Machine learning

Học máy

RCNN: Region Convolutional Neural Network

Mạng nơ-ron tích chập

SSD: Single shot object detectors

Phát hiện đối tượng đơn


6


MỞ ĐẦU
Mục tiêu

- Xây dựng ứng dụng nhận diện biển kiểm soát phương tiện giao thông
Nội dung

-

Nghiên cứu thực trạng
Nghiên cứu tổng quan
Lựa chọn giải pháp tiến hành
Nghiên cứu các vấn đề lý thuyết
Xây dựng hệ thống phần mềm thu thập dữ liệu, xử lý hình ảnh biển kiểm
soát phương tiện giao thông

Đề tài: “Xây dựng ứng dụng nhận diện biển kiểm soát phương tiện giao thông” sẽ
trình bày với các phần như sau:

- Chương 1: Tổng quan về nhận dạng biển kiểm soát phương tiện giao thông
- Chương 2: Các vấn đề cơ bản về nhận dạng, xử lý ảnh
- Chương 3: Xây dựng thuật toán nhận diện biển kiêm soát phương tiện giao
-

thông
Chương 4: Kết quả và bàn luận


7


CHƯƠNG 1. TỔNG QUAN VỀ NHẬN DẠNG BIỂN KIỂM
SOÁT PHƯƠNG TIỆN GIAO THÔNG
Trong chương này, tác giả xin được trình bày tổng quan về nhận dạng biển kiểm
soát phương tiện giao thông, vai trò cũng như thực trạng về nhận dạng biển kiểm
soát giao thông ở Việt Nam và trên thế giới

1.1. Vai trò nhận dạng biển kiểm soát phương tiện giao thông trong công
tác điều tra, khám phá các vụ việc mang tính hình sự của lực lượng
Kỹ thuật hình sự
Trong quá trình phát triển của con người, những cuộc cách mạng về công nghệ
đóng một vai trò rất quan trọng, chúng làm thay đổi từng ngày từng giờ cuộc sống của
con người, theo hướng hiện đại hơn. Đi đôi với quá trình phát triển của con người, tình
hình tội phạm và các vụ việc mang tính hình sự đang ngày càng gia tăng, đồng thời với
sự phát triển không ngừng của các ngành Khoa học kỹ thuật dẫn đến phương thức thủ
đoạn phạm tội đang ngày càng tinh vi, khó nắm bắt hơn và hầu hết đều có liên quan
đến các phương tiên giao thông.
Ở các nước trên thế giới và nước ta hiện nay, việc nhận diện biển kiểm soát
phương tiện giao thông đã được triển khai phổ biến trong lĩnh vực an ninh. Cụ thể ở
Việt Nam, năm 2012 là năm an toàn giao thông (ATGT). Nhiều công trình nghiên
cứu của các bộ, ngành đang được thực hiện để kiềm chế tai nạn giao thông (TNGT),
giảm ùn tắc giao thông. Trong đó, đề tài “Ứng dụng phần mềm nhận dạng biển số
trong quản lý phương tiện và phát hiện vi phạm giao thông bằng hình ảnh” của Cục
Quản lý khoa học - công nghệ và môi trường (Tổng cục Hậu cần kỹ thuật - Bộ công
an), phối hợp Công ty cổ phần Biển Bạc là một trong những đề tài đang được Áp
dụng, triển khai tại một số tỉnh, thành phố trong cả nước ...
Vấn đề nhược điểm trong quá trình sử dụng phần mềm này là cần sự hỗ trợ của
một hệ thống camera chuyên biệt, có tốc độ chụp hình cao và độ phân giải lớn.


8


Trong khi đó việc sử dụng dữ liệu từ camera an ninh thông thường để nhận diện
biển số lại chưa được hiệu quả. Chính vì vậy, tôi chọn đề tài “Xây dựng ứng dụng
nhận diện biển kiểm soát phương tiện giao thông” hướng đến cụ thể trong việc sử
dụng dữ liệu hình ảnh từ các camera an ninh thông thường

1.2. Thực trạng về nhận dạng biển kiểm soát phương tiện giao thông ở
Việt Nam và trên thế giới
Trên thế giới nói chung hay Việt Nam nói riêng, bài toán nhận diện biển kiểm
soát phương tiện giao thông vẫn là một bài toán hết sức được quan tâm. Kết quả
nghiên cứu bài toán là các giải pháp cho các công nghệ tự động, giải pháp quản lý
bãi xe, quản lý an ninh, theo dõi tội phạm, ...
Nhìn chung các giải pháp hiện nay đang rất phát triển song vẫn còn nhiều hạn
chế. Những giải pháp nổi tiếng trên thế giới như ALPR, Vino đều đáp ứng được hầu
hết các nhu cầu cơ bản của các bài toán. Nhược điểm còn tồn tại trong các giải pháp
này là chưa hỗ trợ hết tất cả các loại biển số trên thế giới.

Hình 1.1: Giải pháp OpenALPR trong nhận diện biển kiểm soát

Tại Việt Nam thị trường giải pháp nhận diện biển kiểm soát cũng rất phong phú,
đi đầu trong lĩnh vực này có thể kể đến như Silver Sea, DNC Tech. Tất cả các giải
pháp này đều có điểm chung là xử lý chuyên về biển số Việt Nam nên có tốc độ xử
lý rất nhanh và độ chính xác rất cao đối với biển kiểm soát Việt Nam


9

CHƯƠNG 2. CÁC VẤN ĐỀ CƠ BẢN VỀ XỬ LÝ, NHẬN
DẠNG ẢNH
Trong chương này tác giả sẽ giới thiệu tổng quan về các vấn đề trong xử lý ảnh;

nhận dạng ảnh; các phương pháp, thuật toán xử lý ảnh; Ứng dụng của trí tuệ nhân
tạo trong xử lý ảnh;

2.1. Tổng quan về 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ành
khoa 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ính
chuyên dụng riêng cho nó.
Xử lý ảnh được đưa vào giảng dạy ở bậc đại học ở nước ta khoảng chục năm
nay. Nó là môn học liên quan đến nhiều lĩnh vực và cần nhiều kiến thức cơ sở khác.
Đầu tiên phải kể đến Xửlý tín hiệu số là một môn học hết sức cơ bản cho xử lý tín
hiệu chung, các khái niệm về tích chập, các biến đổi Fourier, biến đổi Laplace, các
bộ lọc hữu hạn… Thứ hai, các công cụ toán như Đại số tuyến tính, xác suất, thống
kê. Một số kiến thứ cần thiết như trí tuệ nhân tao, Mạng nơ ron nhân tạo cũng được
đề cập trong quá trình phân tích và nhận dạng ảnh.
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 ảnh
bá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 nhanh tạ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áp tri thức


10

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ải tiế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.

Hình 2.2: Các bước cơ bản trong xử lý ảnh

Sơ đồ này bao gồm:
a) Phần thu nhận ảnh
Ảnh có thể nhận qua camera màu hoặc đen trắng. Thường ảnh nhận qua camera
là ảnh tương tự (loại camera ống chuẩn CCIR với tần số 1/25, mỗi ảnh 25 dòng),
cũng có loại camera đã số hoá (như loại CCD – Change Coupled Device) là loại
photodiot tạo cường độ sáng tại mỗi điểm ảnh. Camera thường dùng là loại quét
dòng ; ảnh tạo ra có dạng hai chiều. Chất lượng một ảnh thu nhận được phụ thuộc
vào thiết bị thu, vào môi trường (ánh sáng, phong cảnh)
b) Phần tiền xử lý ảnh
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ý là lọc nhiễu, nâng
độ tương phản để làm ảnh rõ hơn, nét hơn.
c) Phần phân đoạn ảnh
Phân vùng ảnh là tách một ảnh đầu vào thành các vùng thành phần để biểu diễn
phâ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ên


11

ngườ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ính
xá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.
d) 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ệu nà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ọn cá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 việ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. Ví dụ: trong
nhận dạng ký tự trên phong bì thư, chúng ta miêu tả các đặc trưng của từng ký tự
giúp phân biệt ký tự này với ký tự khác.
e) Nhận dạng và nội suy
Nhận dạng ảnh là quá trình xác định ảnh. Quá trình này thường thu được bằng
cách so sánh với mẫu chuẩn đã được học (hoặc lưu) từ trước. Nội suy là phán đoán
theo ý 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ên
phong bì thư có thể được nội suy thành mã điện thoại. Có nhiều cách phân loai ảnh
khác nhau về ảnh. Theo lý thuyết về nhận dạng, các mô hình toán học về ảnh được
phân theo hai loại nhận dạng ảnh cơ bản: Nhận dạng theo tham số và 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 trong khoa 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ặt người…
f) Cơ sở tri thức
Như đã nói ở trên, ả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ý và phân tích ảnh ngoài việc đơn giản hóa các phương pháp toán


12

học đảm bảo tiện lợ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 theo cách của con người. Trong các bước xử lý đó, 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át huy. Trong tài liệu, chương 6 về nhận dạng ảnh có nêu một vài ví dụ
về cách sử dụng các cơ sở tri thức đó

g) Biểu diễn ảnh
Sau khi số hoá sẽ được lưu vào bộ nhớ, hoặc chuyển sang các khâu tiếp theo để
phân tích. Nếu lưu trữ ảnh trực tiếp từ các ảnh thô, đòi hỏi dung lượng bộ nhớ cực
lớn và không hiệu quả theo quan điểm ứng dụng và công nghệ. Thông thường, các
ảnh thô đó được đặc tả (biểu diễn) lại (hay đơn giản là mã hoá) theo các đặc điểm
của ảnh được gọi là các đặc trưng ảnh (Image Features) như: biên ảnh (Boundary),
vùng ảnh (Region). Một số phương pháp biểu diễn thường dùng:
-

Biểu diễn bằng mã chạy (Run-Length Code)

-

Biểu diễn bằng mã xích (Chaine -Code)

-

Biểu diễn bằng mã tứ phân (Quad-Tree Code)

2.2. Lý thuyết nhận dạng ảnh, nhận dạng đối tượng
2.2.1. Tổng quan về bài toán nhận dạng
Nhận dạng hay nhận biết một đối tượng là khả năng tự nhiên của con người
cũng như các loài vật. Theo một cách bản năng nhất mọi loài vật qua cảm nhận từ
các cơ quan cảm giác như: mắt, mũi, miệng, tay, ... bằng một hành động nhìn, nghe,
ngửi, ... có thể cảm nhận ngay được đối tượng đang tiếp xúc với mình là cái gì, quen
hay lạ. Chính vì vậy có thể nói răng cơ thể mỗi loài vật chính là một hệ thống nhận
dạng tối ưu nhất.
Với sự phát triển của khoa học công nghệ nhất là khoa học về robot thì càng
ngày mong ước tạo ra một hệ thống nhận dạng máy học có khả năng tương tự thậm



13

chí là vượt trội hơn hệ thống nhận dạng sinh học là một khát khao của các nhà khoa
học
Một hệ thống nhận dạng đối tượng là hệ thống nhận vào một ảnh hoặc một đoạn
video (chuỗi các ảnh). Qua xử lý tính toán, hệ thống xác định được vị trí đối tượng
đang có trong ảnh (nếu có) và xác định được đó là đối tượng nào trong số những đối
tượng mà hệ thống đã biết (qua quá trình học) hay là đối tượng mới. Yêu cầu đặt ra
với các hệ thống nhận dạng đối tượng là độ chính xác cao vì vậy hệ thống đòi hỏ
phải có các đặc trưng tốt. Hệ thống phải biết chọn các đặc trưng như thế nào để có
thể biểu diễn tốt được thông tin đối tượng cần nhận dạng. Đồng thời, đặc trưng phải
được tính toán nhanh để không làm chậm công việc nhận dạng. Thêm vào đó, hệ
thống phải có phương pháp học hiệu quả, có khả năng nhận dạng tốt các mẫu mới
chứ không chỉ làm tốt trên các mẫu đã học.

2.2.2. Các khó khăn của công việc
nhận dạng
Đối với con người thì việc nhận dạng các đối tượng trong ảnh là việc không phải
là phức tạp; tuy nhiên đối với một hệ thống nhân tạo thì việc nhận ra một đối tượng
từ một ảnh đòi hỏi phải giải quyết được rất nhiều vấn đề. Chính vì thế vấn đề này
vẫn đang được nhiều nhóm trên thế giới quan tâm nghiên cứu, Khó khăn của việc
nhận dạng có thể kể ra như sau:
a) Tư thế, góc chụp: Ảnh chụp khuôn mặt có thể thay đổi rất nhiều bởi vì góc chụp
giữa camera và khuôn mặt. Chẳng hạn như chụp thẳng, chụp xéo bên trái hoặc
xéo bên phải. Với các tư thế khác nhau, các thành phần trên khuôn mặt như mắt
mũi, miệng có thể bị che khuất một phần hoặc thậm chí là che khuất hết


14


Hình 2.3: Minh họa sự thay đổi góc chụp

b) Sự xuất hiện hoặc thiếu một số thành phần: Các thành phần biểu tả một đối
tượng có thể xuất hiện hoặc không trong ảnh làm cho bài toán nhận dạng càng
trở nên khó hơn nhiều

Hình 2.4: Minh họa sự thiếu thành phần

c) Sự biến dạng của đối tượng: Biến dạng của đối tượng có thể làm ảnh hưởng
đáng kể đến các thông số của đối tượng đó. Chẳng hạn cùng một khuôn mặt một
người, nhưng có thể sẽ rất khác khi họ cười hoặc sợ hãi.


15

Hình 2.5: Minh họa sự biến dạng

d) Sự che khuất: Đối tượng có thể bị che khuất bởi các đối tượng khác

Hình 2.6: Minh họa sự che khuất

e) Sự phức tạp của hình nền: Hình nền phức tạp sẽ khiến việc nhận dạng trở nên
khó khăn.

Hình 2.7: Minh họa hình nền phức tạp


16


f) Điều khiển của ảnh: Ảnh được chụp trong các điều kiện khác nhau về chiều
sáng, về tính chất camera (máy kỹ thuật số, máy hồng ngoại, ... ) ảnh hưởng rất
nhiều đến chất lượng ảnh.

Hình 2.8: Minh họa sự thay đổi độ sáng

2.2.3. Các ứng dụng nhận dạng đối
tượng
Bài toán nhận dạng đối tượng có thể được ứng dụng rộng rãi trong nhiều ứng
dụng thực tế khác nhau. Đó chính là lý do mà bài toán này hấp dẫn rất nhiều nhóm
nghiên cứu trong thời gian dài. Các ứng dụng liên quan đến nhận dạng đốit ượng có
thể kể đến như:
-

Hệ thống phát hiện tội phạm: Camera được đặt tại một số điểm công cộng
như siêu thị, nhà sách, trạm xe buýt, ... Khi phát hiện được sự xuất hiện của
các đối tượng là tội phạm, hệ thống sẽ gởi thông điệp về cho trung tâm xử lý.

-

Hệ thống theo dõi nhân sự trong một đơn vị: Giám sát giờ ra, vào của từng
nhân viên

-

Hệ thống giao tiếp người máy

-

Hệ thống tìm kiếm hình ảnh, video


-

Hệ thông báo mật dựa trên sinh trắc học

-

Nhận dạng chữ in


17

-

Công nghệ quản lý biển số xe

2.2.4. Tổng quan kiến trúc của một hệ
thống nhận dạng đối tượng
Một hệ thống nhận dạng đối tượng thông thường được xử lý qua 4 bước sau:
-

Thu nhận tín hiệu (hình ảnh, video) và tiền xử lý

-

Trích chọn đặc trưng

-

Phát hiện đối tượng


-

Phân lớp đối tượng

Ảnh đầu vào được thu nhận và tiền xử lý sau đó các ảnh được qua công đoạn
tiền xử lý nhằm tăng độ chính xác cho hệ thống, Các ảnh sau đó được trích chọn đặc
trưng để tạo ra các vector đặc trưng trong bước rút trích đặc trưng. Những vecto đặc
trưng này sẽ là dữ liệu đầu vào cho một mô hình được huấn luyện trước. Phát hiện
đối tượng: dò tìm và định vị những đối tượng xuất hiện trong ảnh. Những đối tượng
thu được qua phát hiện sẽ tiếp tục được phân lớp thành các lớp riêng biệt để nhận
dạng.

2.3. Ứng dụng của công nghệ trí tuệ nhân tạo trong xử lý ảnh
2.3.1. Tổng quan về công nghệ trí tuệ
nhân tạo
Trong khoa học máy tính, trí tuệ nhân tạo hay AI (tiếng Anh: Artificial
Intelligence), đôi khi được gọi là trí thông minh nhân tạo, là trí thông minh được thể
hiện bằng máy móc, trái ngược với trí thông minh tự nhiên được con người thể hiện.
Thông thường, thuật ngữ trí tuệ nhân tạo thường được sử dụng để mô tả các máy
móc (hoặc máy tính) bắt chước các chức năng nhận thức mà con người liên kết với
tâm trí con người, như học tập và giải quyết vấn đề. Khi máy móc ngày càng tăng
khả năng, các nhiệm vụ được coi là cần trí thông minh thường bị loại bỏ khỏi định


18

nghĩa về AI, một hiện tượng được gọi là hiệu ứng AI. Một câu châm ngôn trong
Định lý của Tesler nói rằng AI là bất cứ điều gì chưa được thực hiện. Ví dụ, nhận
dạng ký tự quang học thường bị loại trừ khỏi những thứ được coi là AI, đã trở thành

một công nghệ thông thường. Khả năng máy hiện đại thường được phân loại như AI
bao gồm thành công hiểu lời nói của con người,cạnh tranh ở mức cao nhất trong trò
chơi chiến lược (chẳng hạn như cờ vua và Go), xe hoạt động độc lập, định tuyến
thông minh trong mạng phân phối nội dung, và mô phỏng quân sự.

Hình 2.9: Trí tuệ nhân tạo đã trở thành phần thiết yếu của công nghệ

Trí tuệ nhân tạo có thể được phân thành ba loại hệ thống khác nhau: trí tuệ nhân
tạo phân tích, lấy cảm hứng từ con người và nhân tạo. AI phân tích chỉ có các đặc
điểm phù hợp với trí tuệ nhận thức; tạo ra một đại diện nhận thức về thế giới và sử
dụng học tập dựa trên kinh nghiệm trong quá khứ để thông báo các quyết định trong
tương lai. AI lấy cảm hứng từ con người có các yếu tố từ trí tuệ nhận thức và cảm
xúc; hiểu cảm xúc của con người, ngoài các yếu tố nhận thức và xem xét chúng
trong việc ra quyết định. AI nhân cách hóa cho thấy các đặc điểm của tất cả các loại
năng lực (nghĩa là trí tuệ nhận thức, cảm xúc và xã hội), có khả năng tự ý thức và tự
nhận thức được trong các tương tác.
Trí tuệ nhân tạo được thành lập như một môn học thuật vào năm 1956, và trong
những năm sau đó đã trải qua nhiều làn sóng lạc quan sau đó là sự thất vọng và mất
kinh phí (được gọi là mùa đông AI), tiếp theo là cách tiếp cận mới, thành công và
tài trợ mới. Trong phần lớn lịch sử của mình, nghiên cứu AI đã được chia thành các


19

trường con thường không liên lạc được với nhau. Các trường con này dựa trên các
cân nhắc kỹ thuật, chẳng hạn như các mục tiêu cụ thể (ví dụ: robot học hoặc học
máy), việc sử dụng các công cụ cụ thể (logic hoặc mạng lưới thần kinh nhân tạo)
hoặc sự khác biệt triết học sâu sắc. Các ngành con cũng được dựa trên các yếu tố xã
hội (các tổ chức cụ thể hoặc công việc của các nhà nghiên cứu cụ thể).
Lĩnh vực này được thành lập dựa trên tuyên bố rằng trí thông minh của con

người có thể được mô tả chính xác đến mức một cỗ máy có thể được chế tạo để mô
phỏng nó.Điều này làm dấy lên những tranh luận triết học về bản chất của tâm trí và
đạo đức khi tạo ra những sinh vật nhân tạo có trí thông minh giống con người, đó là
những vấn đề đã được thần thoại, viễn tưởng và triết học từ thời cổ đại đề cập tới.
Một số người cũng coi AI là mối nguy hiểm cho nhân loại nếu tiến triển của nó
không suy giảm. Những người khác tin rằng AI, không giống như các cuộc cách
mạng công nghệ trước đây, sẽ tạo ra nguy cơ thất nghiệp hàng loạt.

Hình 2.10: Nhờ trí tuệ nhân tạo, người máy đang giúp ích cho con người

Trong thế kỷ 21, các kỹ thuật AI đã trải qua sự hồi sinh sau những tiến bộ đồng
thời về sức mạnh máy tính, dữ liệu lớn và hiểu biết lý thuyết; và kỹ thuật AI đã trở
thành một phần thiết yếu của ngành công nghệ, giúp giải quyết nhiều vấn đề thách
thức trong khoa học máy tính, công nghệ phần mềm và nghiên cứu vận hành.


20

2.3.2. Giới thiệu về học máy (Machine
Learning)
Học máy (tiếng Anh: Machine learning) là một lĩnh vực của trí tuệ nhân tạo liên
quan đến việc nghiên cứu và xây dựng các kĩ thuật cho phép các hệ thống “học” tự
động từ dữ liệu để giải quyết những vấn đề cụ thể. Ví dụ như các máy có thể “học”
cách phân loại thư điện tử xem có phải thư rác hay không và tự động xếp thư vào
thư mục tương ứng. Học máy rất gần với suy diễn thống kê (statistical inference)
tuy có khác nhau về thuật ngữ.
Học máy có liên quan lớn đến thống kê, vì cả hai lĩnh vực đều nghiên cứu việc
phân tích dữ liệu, nhưng khác với thống kê, học máy tập trung vào sự phức tạp của
các giải thuật trong việc thực thi tính toán. Nhiều bài toán suy luận được xếp vào
loại bài toán khó, vì thế một phần của học máy là nghiên cứu sự phát triển các giải

thuật suy luận xấp xỉ mà có thể xử lý được. Học máy có hiện nay được áp dụng
rộng rãi bao gồm máy truy tìm dữ liệu, chẩn đoán y khoa, phát hiện thẻ tín dụng giả,
phân tích thị trường chứng khoán, phân loại các chuỗi DNA (Deoxyribonucleic
Acid), nhận dạng tiếng nói và chữ viết, dịch tự động, chơi trò chơi và cử động rôbốt.

Hình 2.11: Machine Learning – Một lĩnh vực của trí tuệ nhân tạo

Dưới góc nhìn của trí tuệ nhân tạo, động lực chính học máy bởi là nhu cầu thu
nhận tri thức.Thật vậy, trong nhiều trường hợp ta cần kiến thức chuyên gia là khan


21

hiếm (không đủ chuyên gia ngồi phân loại lừa đảo thẻ tín dụng của tất cả giao dịch
hàng ngày) hoặc chậm vì một số nhiệm vụ cần đưa ra quyết định nhanh chóng dựa
trên xử lý dữ liệu khổng lồ (trong mua bán chứng khoán phải quyết định trong vài
khoảng khắc của giây chẳng hạn) và thiếu ổn định thì buộc phải cần đến máy tính.
Ngoài ra, đại đa số dữ liệu sinh ra ngày nay chỉ phù hợp cho máy đọc tiềm tàng
ngưồn kiến thức quan trọng. Máy học nghiên cứu cách thức để mô hình hóa bài
toán cho phép máy tính tự động hiểu, xử lý và học từ dữ liệu để thực thi nhiệm vụ
được giao cũng như cách đánh giá giúp tăng tính hiệu quả.
Một số hệ thống học máy nỗ lực loại bỏ nhu cầu trực giác của con người trong
việc phân tích dữ liệu, trong khi các hệ thống khác hướng đến việc tăng sự cộng tác
giữa người và máy. Không thể loại bỏ hoàn toàn tác động của con người vì các nhà
thiết kế hệ thống phải chỉ định cách biểu diễn của dữ liệu và những cơ chế nào sẽ
được dùng để tìm kiếm các đặc tính của dữ liệu. Học máy có thể được xem là một
nỗ lực để tự động hóa một số phần của phương pháp khoa học. Một số nhà nghiên
cứu học máy tạo ra các phương pháp bên trong các khuôn khổ của thống kê Bayes.

2.3.3. Giới thiệu về học sâu (Deep

Learning)
Học sâu (tiếng Anh: Deep learning) là một chi của ngành máy học dựa trên một
tập hợp các thuật toán để cố gắng mô hình dữ liệu trừu tượng hóa ở mức cao bằng
cách sử dụng nhiều lớp xử lý với cấu trúc phức tạp, hoặc bằng cách khác bao gồm
nhiều biến đổi phi tuyến.
Học sâu là một phần của một họ các phương pháp học máy rộng hơn dựa trên
đại diện học của dữ liệu. Một quan sát (ví dụ như, một hình ảnh) có thể được biểu
diễn bằng nhiều cách như một vector của các giá trị cường độ cho mỗi điểm ảnh,
hoặc một cách trừu tượng hơn như là một tập hợp các cạnh, các khu vực hình dạng
cụ thể, vv. Một vài đại diện làm khiến việc học các nhiệm vụ dễ dàng hơn (ví dụ,
nhận dạng khuôn mặt hoặc biểu hiện cảm xúc trên khuôn mặt) từ các ví dụ. Một
trong những hứa hẹn của học sâu là thay thế các tính năng thủ công bằng các thuật


22

toán hiệu quả đối với học không có giám sát hoặc nửa giám sát và tính năng phân
cấp.
Các thuật toán học sâu tương phản với các thuật toán học nông bởi số biến đổi
được tham số hóa một tín hiệu gặp phải khi nó lan truyền từ các lớp đầu vào đến lớp
đầu ra, nơi một biến đổi được tham số hóa là một đơn vị xử lý có các thông số có
thể huấn luyện được, chẳng hạn như trọng số và ngưỡng. Một chuỗi các biến đổi từ
đầu vào đến đầu ra là một đường gán kế thừa (CAP- credit assignment path). CAP
mô tả các kết nối quan hệ nhân quả tiềm năng giữa đầu vào và đầu ra và có thể thay
đổi chiều dài. Đối với một mạng neuron nuôi tiến (feedforward), độ sâu của CAP,
và do đó độ sâu của mạng đó, là số lượng các lớp ẩn cộng 1 (lớp đầu ra cũng là
tham số hóa). Đối với mạng neuron tái phát, trong đó một tín hiệu có thể truyền
thông qua một lớp nhiều hơn một lần, CAP có khả năng không bị giới hạn chiều dài.
Không có sự thống nhất chung về ngưỡng của độ sâu chia học cạn với học sâu,
nhưng hầu hết các nhà nghiên cứu trong lĩnh vực đồng ý rằng học sâu có nhiều lớp

phi tuyến để là học rất sâu.

Hình 2.12: Deep Learning – một phạm trù của Machine learning

Các thuật toán học sâu dựa trên các đại diện phân phối. Giả định tiềm ẩn đằng
sau các đại diện phân phối là các dữ liệu được quan sát là được tạo ra bởi sự tương
tác của các yếu tố được tổ chức theo lớp. Học sâu thêm giả định rằng các lớp của
các yếu tố này tương ứng với các mức độ trừu tượng hay theo thành phần. Các con


23

số khác nhau của các lớp và kích thước của lớp có thể được sử dụng để quy định
các lượng trừu tượng khác.
Học sâu khai thác ý tưởng thứ bậc các yếu tố giải thích này ở cấp cao hơn,
những khái niệm trừu tượng hơn được học từ các cấp độ thấp hơn. Những kiến trúc
này thường được xây dựng với một phương pháp lớp chồng lớp tham lam. Học sâu
giúp để tháo gỡ những khái niệm trừu tượng này và chọn ra những đặc điểm cần
thiết cho việc học. Đối với các nhiệm vụ học có giám sát, các phương pháp học sâu
sẽ tránh kỹ thuật đặc điểm (feature engineering), bằng cách dịch các dữ liệu vào các
đại diện trung gian nhỏ gọn giống như các thành phần chính, và lấy được các cấu
trúc lớp mà loại bỏ sự thừa thải trong đại diện. Rất nhiều các thuật toán học sâu
được áp dụng cho các nhiệm vụ học không có giám sát. Đây là một lợi ích quan
trọng bởi vì dữ liệu không dán nhãn (chưa phân loại) thường phong phú hơn các dữ
liệu dán nhãn. Một ví dụ của một cấu trúc sâu có thể được đào tạo theo cách không
có giám sát là một mạng lưới tin sâu (deep belief network).
Trong năm 1991 những mạng neuron như vậy được sử dụng để nhận diện chữ số
viết tay 2-D cách ly, nhận dạng đối tượng 3-D được thực hiện bằng cách kết hợp các
hình ảnh 2-D với một mô hình đối tượng 3-D thủ công. Juyang Weng và các cộng
sự đề xuất rằng một bộ não người không sử dụng một mô hình đối tượng 3-D

nguyên khối, và vào năm 1992, họ xuất bản Cresceptron, một phương pháp để thực
hiện nhận dạng đối tượng 3-D trực tiếp từ các hậu trường lộn xộn. Cresceptron là
một ghép tầng của các lớp tương tự như Neocognitron. Nhưng trong khi
Neocognitron yêu cầu một lập trình viên con người can thiệp, Cresceptron sẽ tự
động học được một số đặc điểm không có giám sát trong mỗi lớp, nơi mà mỗi đặc
điểm được đại diện bởi một nhân tích chập. Cresceptron cũng phân đoạn từng đối
tượng học được từ một cảnh nền lộn xộn thông qua việc phân tích ngược mạng đó.
Thăm dò max, bây giờ thường được thông qua bởi các mạng neuron sâu (ví dụ: các
kiểm tra ImageNet), lần đầu tiên sử dụng trong Cresceptron để giảm độ phân giải vị
trí bởi của một hệ số (2x2) đến 1 thông qua việc ghép tầng tổng quát hóa tốt hơn.


24

Mặc dù có những lợi thế như thế, các mô hình đơn giản hơn sử dụng nhiệm vụ cụ
thể có đặc điểm thủ công như bộ Gabor và các máy hỗ trợ vector (SVM-support
vector machines) đã là lựa chọn phổ biến trong thập niên 1990 và thập niên 2000,
bởi vì chi phí tính toán bởi các ANN và vì thiếu sự hiểu biết về cách thức bộ não tự
quản các kết nối mạng sinh học của nó.
Một số phương pháp học sâu thành công nhất là mạng neuron nhân tạo. Mạng
neuron nhân tạo được lấy cảm hứng từ các mô hình sinh học năm 1959 được đề
xuất bởi người đoạt giải Nobel David H. Hubel & Torsten Wiesel, 2 người đã tìm
thấy hai loại tế bào trong vỏ não thị giác chính: các tế bào đơn giản vàcác tế bào
phức tạp. Nhiều mạng neuron nhân tạo có thể được xem như là các mô hình ghép
tầng của các tế bào loại lấy cảm hứng từ những quan sát sinh học. Neocognitron của
Fukushima giới thiệu các mạng neuron tích chập được đào tạo một phần bởi học
không có giám sát với các đặc điểm được con người hướng dẫn trong mặt phẳng
thần kinh. Yann LeCun...(1989) áp dụng truyền ngược có giám sát cho các kiến trúc
như vậy. Weng... (1992) công bố các mạng neuron tích chập Cresceptron để nhậ
dạng các đối tượng 3-D từ các hình ảnh có hậu trường lộn xộn và phân khúc của các

đối tượng từ hình ảnh đó. Một nhu cầu rõ ràng để nhận dạng các đối tượng 3-D nói
chung là ít nhất là thay đổi tính bất biến và khả năng chịu biến dạng. Thăm dò Max
(Max-pooling) xuất hiện lần đầu tiên được đề xuất bởi Cresceptron để kích hoạt
mạng để chịu đựng được sự biến dạng từ nhỏ đến lớn theo một cách phân cấp, trong
khi sử dụng tích chập. Thăm dò mã đã hoạt động tốt, nhưng không đảm bảo, dịch
chuyển bất định ở mức điểm ảnh.
Sven Behnke vào năm 2003 dựa chỉ vào các dấu hiệu của gradient (Rprop) khi
đào tạo Kim tự tháp Trừu tượng Nơ ron của mình để giải bài toán giống như tái tạo
hình ảnh và định vị khuôn mặt. Các phương pháp khác cũng sử dụng đào tạo trước
không có giám sát để tạo ra một mạng nơ ron, khiến nó lần đầu tiên học được bộ dò
đặc điểm nói chung là hữu ích. Sau đó mạng này được đào tạo tiếp tục bằng cách
truyền ngược có giám sát để phân loại dữ liệu có dán nhãn. Mô hình sâu này của


25

Hinton và các cộng sự (2006) liên quan đến việc học phân phối của một đại diện
cao cấp bằng cách sử dụng các lớp kế tiếp của các biến tiềm ẩn nhị phân hoặc giá trị
thực. nó sử dụng một máy Boltzmann hạn chế (Smolensky, 1986) để mô hình hóa
mỗi lớp mới của các đặc điểm cao cấp hơn. Mỗi lớp mới đảm bảo một sự tăng
trưởng trong biên thấp của kiểm tra tỷ lệ giống của dữ liệu, do đó tăng cường cho
mô hình, nếu được huấn luyện đúng cách. Một khi đã đủ nhiều lớp đã được học,
kiến trúc sâu có thể được sử dụng như là một mô hình thể sinh bằng cách tái tạo dữ
liệu khi lấy mẫu xuống mô hình đó (một "sự vượt qua tổ tiên") từ các kích hoạt tính
năng cấp đỉnh. Hinton báo cáo rằng các mô hình của mình là trích xuất các đặc
điểm hiệu quả tính theo chiều cao, cấu trúc dữ liệu. Nhóm Google Brain do Andrew
Ng và Jeff Dean đã tạo ra một mạng nơ ron học cách để nhận dạng được những khái
niệm cao cấp hơn, chẳng hạn như con mèo, chỉ từ xem những hình ảnh không được
dán nhãn từ các video trên YouTube.


2.3.4. Một số mô hình nhận dạng đối
tượng sử dụng kỹ thuật học máy,
học sâu
a) Mô hình thuật toán CNN, RCNN, Faster RCNN
CNN (Convolutional Neural Network – mạng nơ ron tích chập) là một thuật
toán để tìm kiếm vị trí của vật thể trong ảnh. Thuật toán này sẽ có đầu ra là những
hình hộp, cùng với vật thể bên trong hộp đó là gì. CNN có các bản cải tiến như RCNN (Region with CNN feature) và Faster R-CNN.
RCNN
-

R-CNN sử dụng một thuật toán gọi là Selective search (Tìm kiếm chọn lọc)
để đưa ra các Bounding boxes (Hộp giới hạn), hay còn gọi là Region
proposals, chứa các vùng có thể có vật thể ở trong.


×