Tải bản đầy đủ (.pdf) (107 trang)

(Đồ án tốt nghiệp) Ứng dụng tri tuệ nhân tạo để phát triển hệ thống nhận diện và theo dõi làn đường cho xe tự lái

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 (7.41 MB, 107 trang )

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ TH

T TH NH PHỐ HỒ CHÍ MINH

KHOA CƠ KHÍ ĐỘNG LỰC

ĐỒ ÁN TỐT NGHIỆP

ỨNG DỤNG TRÍ TUỆ NHÂN TẠO ĐỂ PHÁT TRIỂN HỆ
THỐNG NHẬN DIỆN VÀ THEO DÕI LÀN ĐƯỜNG CHO
XE TỰ LÁI

SVTH : NGÔ THÀNH MIN
MSSV:

15145289

SVTH : LÊ VĂN TRIỆU
MSSV:

15145393

GVHD: PGS.TS. ĐỖ VĂN DŨNG

Tp. Hồ Chí Minh, tháng 7 năm 2019


LỜI CẢM ƠN
Trí tuệ nhân tạo tuy khơng phải là thuật ngữ quá mới mẻ ở Việt Nam, nhưng đối
với những sinh viên chuyên ngành công nghệ kỹ thuật ô tơ như chúng em thì kiến thức về
lĩnh vực này vẫn cịn hạn chế. Ứng dụng trí tuệ nhân tạo để giải quyết một vấn đề trong


chuyên ngành thực sự là một thử thách nhưng cũng là một cơ hội để chúng em tìm hiểu
những kiến thức mới về một lĩnh vực tiềm năng trong tương lai. Ngoài những kiến thức
về trí tuệ nhân tạo, qua đề tài này, chúng em còn học hỏi được nhiều kiến thức xử lý ảnh,
lập trình python và nhiều lĩnh vực hồn tồn xa lạ đối với chúng em trước đây. Chúng em
rất vui vì cuối cùng cũng đã vượt qua các thử thách gặp phải và hoàn thành đề tài đúng
thời hạn.
Trong quá trình thực hiện đề tài của mình, do điều kiện hạn chế về kiến thức và
thời gian nghiên cứu nên khơng tránh được những sai sót, rất mong nhận được sự góp ý
từ q Thầy Cơ và các bạn để đề tài của chúng em có thể ngày càng hồn thiện hơn.
Chúng em xin chân thành cảm ơn Thầy PGS.TS. Đỗ Văn Dũng – Giảng viên
hướng dẫn, đã tận tình giúp đỡ chúng em, luôn cho chúng em những lời khuyên, những
lời động viên quý báu, chúng em đã học được rất nhiều kiến thức từ Thầy, học được cách
tổ chức và phân công công việc hợp lý để từ đó chúng em có thể hồn thiện được đồ án
tốt nghiệp này.
Chúng em cũng xin chân thành cảm ơn Thầy ThS. Nguyễn Trung Hiếu – Giảng
viên Khoa Cơ Khí Động Lực, Thầy TS. Trần Vũ Hoàng – Giảng viên Khoa Điện - Điện
Tử đã luôn hỗ trợ chúng em về cơ sở vật chất và những kiến thức chuyên môn vơ cùng
bổ ích, cùng với đó là những lời khun, những lời động viên quý báu.
Qua đây, chúng em xin chân thành cảm ơn các Thầy Cô trong Khoa Cơ Khí Động
Lực trường Đại học Sư Phạm Kỹ Thuật TP. Hồ Chí Minh đã cho chúng em những kiến
thức chuyên ngành thật bổ ích, tạo điều kiện thuận lợi để chúng em có thể hồn thành
được đồ án tốt nghiệp này.
Một lần nữa, chúng em xin cảm ơn tất cả q Thầy, q Cơ, kính chúc q Thầy,
q Cơ ln thành công trên con đường đào tạo nhân tài của mình.
i


TĨM TẮT
Trong xu hướng tự động hóa ngày càng gia tăng, các công nghệ, kỹ thuật hỗ trợ
cho xe tự lái cũng ngày càng phát triển và nhận được nhiều sự quan tâm của các nhà khoa

học trên thế giới. Kèm theo đó, trí tuệ nhân tạo (AI) và xử lý ảnh mặc dù mới mẻ nhưng
lại có tốc độ phát triển vơ cùng nhanh chóng và được ứng dụng rộng rãi trong nhiều lĩnh
vực của đời sống.
Nhiệm vụ đồ án là nghiên cứu và sử dụng trí tuệ nhân tạo trên nền tảng học sâu
(deep learning) kết hợp với thuật toán xử lý ảnh để nhận biết lane hỗ trợ người lái.
Đề tài đề xuất một phương pháp nhận biết lane đường mới kết hợp sự ưu việt giữa
các thuật toán học sâu tiên tiến và một số phương pháp xử lý ảnh truyền thống. Dựa trên
hình ảnh thu thập từ camera, thuật toán học sâu đã được huấn luyện trên các bộ dữ liệu
có sẵn trên thế giới được áp dụng để đưa ra các phán đoán đầu tiên về lane đường. Sau
đó, các kỹ thuật xử lý ảnh và xử lý tín hiệu truyền thống như Hough Transform, Kmeans và Kalman filter được áp dụng trên các phán đoán đầu tiên này để tăng hiệu quả
nhận dạng phù hợp với đặc tính đường ở Việt Nam. Đề tài được phát triển trên hệ điều
hành Ubuntu 16.04 sử dụng ngơn ngữ lập trình python.
Kết quả thử nghiệm cho thấy phương pháp của nhóm có thể nhận diện và theo dõi
các làn đường trong nhiều điều kiện thách thức khác nhau trên đường điển hình như
đường bị các vật cản che chắn (như ô tô, xe máy,…), đường cong, đường có một số kết
cấu lạ,…

ii


MỤC LỤC

LỜI CẢM ƠN .......................................................................................................................i
TÓM TẮT ........................................................................................................................... ii
MỤC LỤC ......................................................................................................................... iii
DANH MỤC CÁC TỪ VIẾT TẮT V KÝ HIỆ ............................................................vi
DANH MỤC CÁC HÌNH................................................................................................. vii
DANH MỤC CÁC BẢNG .................................................................................................. x
Chương 1. TỔNG QUAN .................................................................................................. 1
1.1. Lý do chọn đề tài...........................................................................................................1

1.2. Mục tiêu nghiên cứu .....................................................................................................1
1.3. Nội dung nghiên cứu .....................................................................................................2
1.4. Giới hạn đề tài ...............................................................................................................2
1.5. Phạm vi ứng dụng .........................................................................................................2
Chương 2. CƠ SỞ LÝ THUYẾT ...................................................................................... 3
2.1. Cơ sở lý thuyết về ảnh và xử lý ảnh .............................................................................3
2.1.1. Cơ sở lý thuyết về ảnh ............................................................................................3
2.1.1.1. Điểm ảnh (Picture Element) .............................................................................3
2.1.1.2. Độ phân giải của ảnh ........................................................................................4
2.1.1.3. Mức xám của ảnh .............................................................................................5
2.1.1.4. Không gian màu. ..............................................................................................5
2.1.1.5. Định nghĩa ảnh số ............................................................................................8
2.1.1.6. Ảnh trắng đen ...................................................................................................8
2.1.1.7. Ảnh màu ...........................................................................................................9
2.1.2. Cơ sở lý thuyết về xử lý ảnh .................................................................................10
2.1.2.1. Các bước cơ bản trong xử lý ảnh ...................................................................10
2.1.2.2. Các thành phần cơ bản của hệ thống xử lý ảnh .............................................15
2.1.2.3. Những vấn đề trong xử lý ảnh........................................................................16
2.2. Mạng nơron tích chập – Convolutional Neural Network (CNN) ...............................17
2.2.1. Thị giác máy tính (Computer vision) ...................................................................17
2.2.2. Mạng nơ ron tích chập (CNN hay ConvNet) .......................................................18
iii


2.2.2.1. Lớp tích chập (Convolutional layer) ..............................................................18
2.2.2.2. Đường viền phụ (Padding) .............................................................................19
2.2.2.3. Nhân chập sải (strided convolutions) .............................................................21
2.2.3. Phép chập khối .....................................................................................................22
2.2.3.1. Phép chập khối với một bộ lọc .......................................................................22
2.2.3.2. Phép chập khối với nhiều bộ lọc ....................................................................23

2.2.4. Mạng CNN một lớp ..............................................................................................24
2.2.5. Mạng CNN đơn giản ............................................................................................24
2.2.6. Lớp Pooling ..........................................................................................................25
2.2.6.1. Pooling theo giá trị cực đại (Max Pooling) ....................................................25
2.2.6.2. Pooling theo giá trị trung bình (Average Pooling).........................................26
2.2.7. Ví dụ một CNN nhận diện ra lane đường .............................................................26
2.2.8. Ưu điểm của CNN ................................................................................................28
Chương 3. SƠ LƯỢC PHẦN CỨNG VÀ PHẦN MỀM .............................................. 29
3.1. Sơ lược về phần cứng .................................................................................................29
3.1.1. Xây dựng cấu hình máy tính phục vụ đồ án .........................................................29
3.1.2. Lựa chọn camera ..................................................................................................29
3.2. Sơ lược về phần mềm .................................................................................................30
3.2.1. Hệ điều hành Ubuntu ............................................................................................30
3.2.2. Python ...................................................................................................................31
3.2.3. Anaconda ..............................................................................................................32
3.2.4. Cuda ......................................................................................................................32
3.2.5. CuDNN .................................................................................................................33
3.2.6. Tensorflow ............................................................................................................33
3.2.7. Một số thư viện sử dụng trong đồ án ....................................................................38
Chương 4. CHƯƠNG TRÌNH ĐIỀU KHIỂN NHẬN DIỆN LÀN ĐƯỜNG ............. 40
(LANE DETECTION) ..................................................................................................... 40
4.1. Sơ đồ tổng thể của hệ thống ........................................................................................40
4.2. Lựa chọn thuật toán học sâu cho việc nhận diện lane ................................................40
4.3. Áp dụng thuật toán lanenet lane detection ..................................................................43
4.3.1. Giới thiệu sơ lược về LaneNET ...........................................................................43
iv


4.3.2. Áp dụng thuật toán ...............................................................................................45
4.4. Nhận diện làn đường bằng giải thuật K – means Clustering ......................................46

4.4.1. Lấy dữ liệu cho K - means từ Hough Transform .................................................46
4.4.2. Ứng dụng Hough Transform trong OpenCV .......................................................48
4.4.3. Áp dụng giải thuật K – means Clustering ............................................................49
4.4.3.1. Giới thiệu về phân cụm dữ liệu bằng K – means. ..........................................49
4.4.3.2. Giải thuật K – means ......................................................................................50
4.4.3.3. Các bước để ứng dụng K-means nhận diện lane............................................52
4.5. Theo dõi làn đường (tracking) bằng cách sử dụng Kalman filter ...............................59
4.5.1. Giới thiệu Kalman filter .......................................................................................59
4.5.2. Các phương trình của Kalman filter: ....................................................................60
4.5.3. Ứng dụng Kalman fileter để tracking ...................................................................62
Chương 5. THỰC NGHIỆM VÀ KẾT QUẢ THỰC NGHIỆM ................................. 66
5.1. Chuẩn bị ......................................................................................................................66
5.2. Địa điểm thực nghiệm .................................................................................................66
5.3. Kết quả thực nghiệm ...................................................................................................67
Chương 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ................................................... 72
6.1. Kết luận .......................................................................................................................72
6.2. Hướng phát triển .........................................................................................................72
DANH MỤC T I LIỆ THAM KHẢO ........................................................................... 74
PHỤ LỤC .......................................................................................................................... 75

v


DANH MỤC CÁC TỪ VIẾT TẮT VÀ KÝ HIỆU
AI

Artificial Intelligence – Trí tuệ nhân tạo

API


Application Programming Interface – Giao diện lập trình ứng dụng

CIE

Commission Internationale d’Eclairage – Tổ chức quốc tế về chuẩn hóa màu

CMYK

Cyan, Magenta, Yellow, Black – Khơng gian màu CMYK

CNN

Convolutional Neural Network – Mạng tích chập

CUDA

Compute Unified Device Architecture – Kiến trúc thiết bị tính tốn hợp nhất

CUDNN NVIDIA CUDA Deep Neural Network library – Thư viện tăng tốc độ GPU
cho các deep learning networks
GPGPU

General-purpose computing on graphics processing units – Điện toán đa năng
trên các đơn vị xử lý đồ họa

GPU

Graphics Processing Unit – Đơn vị xử lý đồ họa

HSV


Hue, Saturation, Value – Không gian màu HSV

IDE

Integrated Development Environment – Mơi trường phát triển tích hợp

OpenCV Open Source Computer Vision – Thư viện mở cho thị giác máy tính
PEL

Picture Element – Điểm ảnh

RGB

Red, Green, Blue – Không gian màu RGB

vi


DANH MỤC CÁC HÌNH

Hình 2.1 Điểm ảnh (Pixel) ...................................................................................................3
Hình 2.2 Các độ phân giải của ảnh ......................................................................................4
Hình 2.3 Hệ tọa độ RGB ......................................................................................................6
Hình 2.4 Khơng gian màu HSV và vịng trịn biểu diễn màu sắc (HUE) ............................7
Hình 2.5 Khơng gian màu CMYK .......................................................................................8
Hình 2.6 Ảnh xám (bên trái) và ảnh nhị phân (bên phải) ....................................................9
Hình 2.7 Ảnh màu ..............................................................................................................10
Hình 2.8 Các bước cơ bản trong xử lý ảnh ........................................................................10
Hình 2.9 Sơ đồ phân tích và xử lý ảnh và lưu đồ thơng tin giữa các khối ........................14

Hình 2.10 Các thành phần cơ bản của hệ thống xử lý ảnh ................................................15
Hình 2.11 Bộ lọc được sử dụng trong lớp tích chập đầu tiên là các ma trận kích thước 3x3
............................................................................................................................................19
Hình 2.12 Nhân bộ lọc k với ma trận đầu vào I .................................................................19
Hình 2.13 Ma trận đầu vào được bao quanh bởi đường viền phụ kích thước p (giá trị 0) 20
Hình 2.14 Nhân chập với bước sải s=2 ..............................................................................22
Hình 2.15 Phép nhân chập khối .........................................................................................22
Hình 2.16 Ba lớp của bộ lọc có thể được cấu hình khác nhau để phát hiện đặc trưng trên
một, hai hoặc cả ba kênh màu của ảnh đầu vào. ................................................................23
Hình 2.17 Kiến trúc của một lớp: Input => 2 filters of 3x3x3=> ReLU (non-linear
activation function) => Output ..........................................................................................24
Hình 2.18 Ví dụ một CNN cơ bản được sử dụng cho bài tốn phân loại ảnh ...................25
Hình 2.19 Ví dụ pooling theo giá trị cực đại .....................................................................26
Hình 2.20 Cấu trúc cơ bản của một CNN thường là một vài cụm CONV => POOL theo
sau bởi một tập FC và kết thúc bởi một lớp Softmax ........................................................27

Hình 3.1 Cấu hình máy tính ...............................................................................................29
Hình 3.2 GoPro Hero 5 Black ............................................................................................30
Hình 3.3 Biểu tượng và giao diện hệ điều hành Ubuntu ...................................................31
vii


Hình 3.4 Biểu tượng Anaconda .........................................................................................32
Hình 3.5 Cách thức nhận diện hình ảnh khn mặt trong Tensorflow ..............................35
Hình 3.6 Xác định đối tượng trong video với Tensorflow ................................................36

Hình 4.1 Sơ đồ tổng thể của hệ thống ................................................................................40
Hình 4.2 Các giải thuật lane detection trên github.com ....................................................41
Hình 4.3 Cấu trúc của mạng LaneNET..............................................................................44
Hình 4.4 Kết quả chạy thuật tốn trên Model Weights .....................................................45

Hình 4.5 Kết quả chạy thuật tốn trên ảnh chụp................................................................46
Hình 4.6 Hình mình họa sử dụng trong OpenCV ..............................................................47
Hình 4.7 Biểu diễn giá trị ρ trong miền θ ..........................................................................47
Hình 4.8 Biến đổi Hough transform ..................................................................................49
Hình 4.9 Các đối tượng được phân phối vào 3 cụm đại diện là 3 điểm trung tâm nhất ....50
Hình 4.10 Các bước của thuật tốn K - means ..................................................................52
Hình 4.11 Tìm các contours trên ảnh chụp ........................................................................53
Hình 4.12 Tìm các contours trên ảnh download ................................................................53
Hình 4.13 Tìm box ơm lấy contour trên ảnh tự chụp ........................................................54
Hình 4.14 Tìm box ơm lấy contour trên ảnh download .....................................................54
Hình 4.15 Tìm các center trên ảnh tự chụp........................................................................55
Hình 4.16 Tìm các center trên ảnh download ....................................................................55
Hình 4.17 Bắt lane trên ảnh tự chụp ..................................................................................56
Hình 4.18 Bắt lane trên ảnh download ..............................................................................56
Hình 4.19 Kết quả sau khi sử dụng K-Means ....................................................................58
Hình 4.20 Hoạt động của Kalman filter .............................................................................59
Hình 4.21 Mơ hình khơng gian trạng thái của Kalman filter.............................................60
Hình 4.22 Quá trình khởi tạo của Kalman filter ................................................................61
Hình 4.23 Ảnh thể hiện 2 lane chính màu xanh.................................................................63
Hình 4.24 Chấm xanh dương đậm được gọi là VashingPoint ...........................................64
Hình 4.25 Kết quả sau khi tracking bằng Kalman Filter ...................................................65

viii


Hình 5.1 Cài đặt camera GoPro Hero 5 Black trên xe .......................................................66
Hình 5.2 Địa điểm thực nghiệm.........................................................................................67
Hình 5.3 Kết quả thực nghiệm ...........................................................................................70

ix



DANH MỤC CÁC BẢNG

Bảng 2.1 Tổng kết tham số tại mỗi lớp CNN ....................................................................27

Bảng 4.1 Khảo sát các giải thuật lane detection có trên github.com .................................42
Bảng 4.2 Các source code lane detection có sử dụng deep learning framework...............43

x


Chương 1. TỔNG QUAN
1.1 Lý do chọn đề tài
Trong thời đại cách mạng công nghiệp 4.0 hiện nay, nền công nghiệp ơ tơ khơng
cịn mang khuynh hướng thuần cơ khí như trước đây nữa, mà nó đang chuyển hóa dần và
có xu thế kết hợp với các lĩnh vực khác như điện, điện tử và khoa học máy tính. Trong
đó, thuật ngữ “AI” hay “trí tuệ nhân tạo” khơng cịn quá xa lạ đối với chúng ta nữa, thậm
chí, chúng ta vẫn luôn tiếp xúc với chúng hàng ngày, hàng giờ, chẳng hạn như các trợ lý
ảo Siri hay Google Assistant trên các điện thoại thơng minh. Ngồi ra, nó cịn được ứng
dụng trong các mơ hình nhà thơng minh, trong các trò chơi điện tử, trong y tế hay trong
quân sự,… mà đặc biệt, đối với những sinh viên “Ơ tơ” như chúng ta, khơng thể khơng
nhắc đến cụm từ “xe tự lái”
Nhắc đến “xe tự lái”, chắc hẳn nhiều người cũng biết năm 2016, công ty Otto sở
hữu bởi

ber đã thành công trong việc vận chuyển 50.000 lon bia Budweisers bằng xe

vận tải tự lái [14]. Về lợi ích kinh tế, ứng dụng trí tuệ nhân tạo cho vận tải đường dài có
thể giảm chi phí, ngồi ra còn giúp hạn chế tối đa những tai nạn chết người. Công ty

nghiên cứu và tư vấn công nghệ thông tin hàng đầu thế giới Gartner dự đoán, đến 2020,
trên tồn cầu sẽ có 250 triệu chiếc xe kết nối với nhau thông qua hệ thống Wi-Fi [14],
chúng sẽ tự "giao tiếp" để cho ra lộ trình tốt nhất.
Hiện nay, việc ứng dụng công nghệ AI trong ngành học của chúng ta nói chung và
trong cơng nghệ xe tự lái nói riêng vẫn đang được diễn ra trên khắp thế giới. Nó mở ra
một cơ hội đầy tiềm năng và thách thức đối với sinh viên “Ơ tơ” chúng ta. Với mong
muốn tham gia, tìm hiểu về lĩnh vực này nên nhóm quyết định chọn đề tài “Ứng dụng trí
tuệ nhân tạo để phát triển hệ thống nhận diện và theo dõi làn đường cho xe tự lái”. Thông
qua đề tài, nhóm hi vọng sẽ đưa ra một cái nhìn khái quát về việc ứng dụng công nghệ AI
trong ngành học của chúng ta và cũng góp phần tích lũy một lượng nhỏ kiến thức để làm
hành trang hội nhập với nền công nghiệp ô tô thế giới cho sinh viên “Ơ tơ” chúng ta sau
này.
1.2 Mục tiêu nghiên cứu
-

Ứng dụng trí tuệ nhân tạo trong việc nhận diện làn đường.
1


-

Nâng cao độ chính xác và hiển thị trong việc phát hiện làn đường.

-

Theo dõi làn đường khắc phục những tình trạng mất làn tạm thời do ngoại cảnh khi
chạy trên đường.

1.3 Nội dung nghiên cứu
-


Nghiên cứu các kiến thức liên quan đến xử lý ảnh và các phần mềm hỗ trợ xử lý ảnh:
Ubuntu, Python, OpenCV, Numpy,…

-

Nghiên cứu về nền tảng, phương thức hoạt động của các hệ thống sử dụng trí tuệ
nhân tạo.

-

Nghiên cứu về phương pháp nhận diện làn đường sử dụng mạng học sâu (deep
learning framework). Cụ thể là mạng nơ-ron tích chập (Convolutional Neural
Network (CNN)).

-

Sử dụng mạng đã được đào tạo sẵn để nhận diện làn đường.

-

Sử dụng các thuật toán để nâng cao nhận diện làn đường làn bằng các thuật toán như
Hough Transform, K-means, Kalman filter,…

-

Sử dụng Kalman filter để theo dõi làn đường.

-


Hiển thị nội dung nhận diện lên màn hình bằng hình ảnh lấy trực tiếp từ webcam.

1.4. Giới hạn đề tài
-

Ở đề tài này nhóm sử dụng mạng học sâu đã được huấn luyện sẵn như là một bộ nhận
diện thơ sau đó đề xuất các phương pháp xử lý hậu kì để nâng cao hiệu quả của việc
bắt và theo dõi làn đường ở nhiều thời gian và không gian khác nhau. Nhóm khơng
huấn luyện lại mạng vì hạn chế về dữ liệu và phần cứng.

-

Hệ thống vẫn chưa thể vận hành real-time được do bộ xử lý trung tâm chưa đủ mạnh
để đáp ứng các bước xử lý hình ảnh và mạng học sâu.

1.5. Phạm vi ứng dụng
Đồ án này cho ta thấy một cái nhìn tổng quan trong việc ứng dụng công nghệ AI
trong ngành công nghệ kỹ thuật ô tô ở phạm vi nhận biết lane đường, từ đó có thể cải tiến
lên để cảnh báo người lái khi lệch khỏi lane đường hay cho xe tự hành khơng người lái
chạy trên lane đường của mình.

2


Chương 2. CƠ SỞ LÝ THUYẾT
2.1. Cơ sở lý thuyết về ảnh và xử lý ảnh
2.1.1. Cơ sở lý thuyết về ảnh
2.1.1.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 (số), ảnh cần phải được số hoá. Số hoá ảnh là sự biến đổi gần đúng mộ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ắt ngườ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 và được thể hiện qua hình 2.1. Trong khn khổ ảnh
hai chiều, mỗi pixel ứng với cặp tọa độ (x, y).
Định nghĩa: Điểm ảnh (Pixel) là một phầ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ảm nhậ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ư ảnh thật. Mỗi phần tử trong ma trận được gọi là một phần tử ảnh.

Hình 2.1 Điểm ảnh (Pixel)

3


2.1.1.2. Độ phân giải của ảnh
Định nghĩa: Độ phân giải (Resolution) của ảnh là mật độ điểm ảnh được ấn định
trên một ảnh số được hiển thị.
Theo định nghĩa, khoảng cách giữa các điểm ảnh phải được chọn sao cho 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ích hợp tạo nên
một mật độ phân bổ, đó chính là độ phân giải và được phân bố theo trục x và y trong
không gian hai chiều.
Ví dụ: Độ phân giải của ảnh trên màn hình CGA (Color Graphic Adaptor) là một
lưới điểm theo chiều ngang màn hình: 320 điểm chiều dọc * 200 điểm ảnh (320*200). Rõ
ràng, cùng màn hình CGA 12” ta nhận thấy mịn hơn màn hình CGA 17” độ phân giải
320*200. Lý do: cùng một mật độ (độ phân giải) nhưng diện tích màn hình rộng hơn thì
độ mịn (liên tục của các điểm) kém hơn. Các độ phân giải thường dùng được thể hiện qua
hình 2.2.

Hình 2.2 Các độ phân giải của ảnh


4


2.1.1.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ó. Dưới đây chúng ta xem xét một số khái niệm và thuật ngữ thường dùng
trong xử lý ảnh.
2.1.1.3.1. Định nghĩa: 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 đó.
2.1.1.3.2. Các thang giá trị mức xám thông thường: 16, 32, 64, 128, 256 (Mức 256 là
mức phổ dụng. Lý do: từ kỹ thuật máy tính dùng 1 byte (8 bit) để biểu diễn mức xám:
Mức xám dùng 1 byte biểu diễn: 28=256 mức, tức là từ 0 đến 255).
2.1.1.3.3. Ảnh đen trắng: là ảnh có hai màu đen, trắng (không chứa màu khác) với mức
xám ở các điểm ảnh có thể khác nhau.
2.1.1.3.4. Ả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ả 21
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.
2.1.1.3.5. Ảnh màu: trong khn khổ lý thuyết ba màu (Red, Blue, Green) để tạo nên thế
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:
28*3=224≈ 16,7 triệu màu.
2.1.1.4. Không gian màu.
2.1.1.4.1. Không gian màu RGB
Tổ chức quốc tế về chuẩn hóa màu CIE (Commission Internationale d’Eclairage)
đưa ra một số chuẩn để biểu diễn màu. Các hệ này có các chuẩn riêng. Hệ chuẩn màu
CIE-RGB dùng 3 màu cơ bản R, G, B và ký hiệu RGBCIE để phân biệt với các chuẩn
khác. Như đã nêu trên, một màu là tổ hợp của các màu cơ bản theo một tỷ lệ nào đó. Như
vậy, mỗi pixel ảnh màu ký hiệu Px, được viết: (T: trong công thức dướ đây là ký hiệu
chuyển vị).
Px = [red,green,blue] T


[2.1]

Người ta dùng hệ tọa độ ba màu R-G-B (tương ứng với hệ tọa độ x-y-z) để biểu
diễn màu như sau:

5


Hình 2.3 Hệ tọa độ RGB
Trong cách biểu diễn này ta có cơng thức:
đỏ + lục + lơ = 1

[2.2]

Cơng thức này gọi là cơng thức Maxwell. Trong hình trên, tam giác tạo bởi ba
đường đứt đoạn gọi là tam giác Maxwell. Màu trắng trong hệ tọa độ này được tính bởi:
trắngCIE = (đỏCIE + lụcCIE + lơCIE) = 1

[2.3]

2.1.1.4.2. Khơng gian màu HSV
Khơng gian màu HSV như hình 2.4 là không gian màu được dùng nhiều trong
việc chỉnh sữa ảnh, phân tích ảnh và một phần của lĩnh vực thị giác máy tính. Hệ khơng
gian này dựa vào ba thông số sau để mô tả màu sắc:
- H viết tắt của từ H E có nghĩa là vùng màu.
- S Viết tắt của từ SATURATION có nghĩa là độ bảo hòa màu.
- V viết tắt của chữ VAL E có nghĩ là giá trị hay độ sáng của màu sắc.

6



Hình 2.4 Khơng gian màu HSV và vịng trịn biểu diễn màu sắc (HUE)
Theo đó, đi theo vịng trịn từ 0 -360 độ là trường biểu diễn màu sắc (Hue).
Trường này bắt đầu từ màu đỏ đầu tiên (red primary) tới màu xanh lục đầu tiên (green
primary) nằm trong khoảng 0-120 độ, từ 120 - 240 độ là màu xanh lục tới xanh lơ (green
primary - blue primary). Từ 240 - 360 là từ màu đen tới lại màu đỏ.
Theo như cách biểu diễn khơng gian màu theo hình trụ như trên, đi từ giá trị độ
sáng (V) được biểu diễn bằng cách đi từ dưới đáy hình trụ lên và nằm trong khoảng từ 0
-1. Ở đáy hình trụ V có giá trị là 0, là tối nhất và trên đỉnh hình trụ là độ sáng lớn nhất (V
= 1). Đi từ tâm hình trụ ra mặt trụ là giá trị bão hịa của màu sắc (S). S có giá trị từ 0 - 1.
0 ứng với tâm hình trụ là chỗ mà màu sắc là nhạt nhất. S = 1 ở ngoài mặt trụ, là nơi mà
giá trị màu sắc là đậm đặc nhất.
Như vậy với mỗi giá trị (H, S, V) sẽ cho ta một màu sắc mà ở đó mơ tả đầy đủ
thơng tin về máu sắc, độ đậm đặc và độ sáng của màu đó.
2.1.1.4.3. Không gian màu CMYK
CMYK là không gian màu được sử dụng phổ biến trong ngành công nghiệp in
ấn.Ý tưởng cơ bản của hệ không gian này là dùng 4 màu sắc cơ bản để phục vụ cho việc
pha trộn mực in. Trên thực tế, người ta dùng 3 màu là C (Cyan): xanh lơ, M (Magenta):
hồng xẫm, và Y (Yellow): vàng để biểu diễn các màu sắc khác nhau. Nếu lấy màu hồng
xẫm cộng với vàng sẽ ra màu đỏ, màu xẫm kết hợp với xanh lơ sẽ cho xanh lam ... Sự kết
hợp của 3 màu trên sẽ cho ra màu đen, tuy nhiên màu đen ở đây khôn phải là đen tuyệt
đối và thường có độ tương phản lớn, nên trong ngành in, để tiết kiệm mực in người ta
7


thêm vào màu đen để in những chi tiết có màu đen thay vì phải kết hợp 3 màu sắc trên.
Và như vậy ta có hệ màu CMYK như hình 2.5, chữ K ở đây là để kí hiệu màu đen
(Black).

Hình 2.5 Khơng gian màu CMYK

Ngun lý làm việc của hệ màu này như sau : Trên một nền giấy trắng, khi mỗi
màu này được in lên sẽ loại bỏ dần đi thành phần màu trắng. 3 màu C, M, Y khác nhau in
theo những tỉ lệ khác nhau sẽ loại bỏ đi thành phần đó một cách khác nhau và cuối cùng
cho ta màu sắc cần in. Khi cần in màu đen, thay vì phải in cả 3 màu người ta dùng màu
đen để in lên. Nguyên lý này khác với nguyên lý làm việc của hệ RGB ở chỗ hệ RGB là
sự kết hợp của các thành phần màu, còn hệ CMYK là sự loại bỏ lẫn nhau của các thành
phần màu.
2.1.1.5. Đị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ần với
ảnh thật.
2.1.1.6. Ảnh trắng đen
Ảnh đen trắng chỉ bao gồm 2 màu: màu đen và màu trắng. Người ta phân mức đen
trắng đó thành L mức. Nếu sử dụng số bit B = 8 bít để mã hóa mức đen trắng (hay mức
xám) thì L được xác định:
L = 2B (trong ví dụ của ta L = 28 = 256 mức)

[2.4]
8


Nếu L bằng 2, B = 1, nghĩa là chỉ có 2 mức: mức 0 và mức 1, cịn gọi là ảnh nhị
phân (binary image). Mức 1 ứng với màu sáng, còn mức 0 ứng với màu tối. Nếu L lớn
hơn 2 ta có ảnh đa cấp xám. Nói cách khác, với ảnh nhị phân mỗi điểm ảnh được mã hóa
trên 1 bit, cịn với ảnh 256 mức, mỗi điểm ảnh được mã hóa trên 8 bit. Như vậy, với ảnh
đen trắng: nếu dùng 8 bit (1 byte) để biểu diễn mức xám, số các mức xám có thể biểu
diễn được là 256. Mỗi mức xám được biểu diễn dưới dạng là một số nguyên nằm trong
khoảng từ 0 đến 255, với mức 0 biểu diễn cho mức cường độ đen nhất và 255 biểu diễn
cho mức cường độ sáng nhất.
Ảnh nhị phân khá đơn giản, các phần tử ảnh có thể coi như các phần tử logic. Ứng
dụng chính của nó được dùng theo tính logic để phân biệt đối tượng ảnh với nền hay để

phân biệt điểm biên với điểm khác.

Hình 2.6 Ảnh xám (bên trái) và ảnh nhị phân (bên phải)
2.1.1.7. Ảnh màu
Ảnh màu theo lý thuyết của Thomas là ảnh tổ hợp từ 3 màu cơ bản: đỏ (R), lục
(G), lơ (B) và thường thu nhận trên các dải băng tần khác nhau. Với ảnh màu, cách biểu
diễn cũng tương tự như với ảnh đen trắng, chỉ khác là các số tại mỗi phần tử của ma trận
biểu diễn cho ba màu riêng rẽ gồm: đỏ (red), lục (green) và lam (blue). Để biểu diễn cho
một điểm ảnh màu cần 24 bit. 24 bit này được chia thành ba khoảng 8 bit. Mỗi màu cũng

9


phân thành L cấp màu khác nhau (thường L=256). Mỗi khoảng này biểu diễn cho cường
độ sáng của một trong các màu chính.
Do đó, để lưu trữ ảnh màu người ta có thể lưu trữ từng màu riêng biệt, mỗi màu
lưu trữ như một ảnh đa cấp xám. Do đó, không gian nhớ dành cho một ảnh màu lớn gấp 3
lần một ảnh đa cấp xám cùng kích cỡ.

Hình 2.7 Ảnh màu
2.1.2. Cơ sở lý thuyết về xử lý ảnh
2.1.2.1. Các bước cơ bản trong xử lý ảnh

Hình 2.8 Các bước cơ bản trong xử lý ảnh
Các bước cơ bản trong xử lý ảnh được thể hiện qua hình 2.8. Sơ đồ trong hình này
bao gồm các thành phần sau:
10


2.1.2.1.1. Phần thu nhận ảnh (Image Acquisition)

Ả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 qt 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).
2.1.2.1.2. Tiền xử lý (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ý là lọc nhiễu, nâng độ tương
phản để làm ảnh rõ hơn, nét hơn.
2.1.2.1.3. Phân đoạn (Segmentation) hay phân vùng ả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 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.
2.1.2.1.4. Biểu diễn ảnh (Image Representation)
Đầ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.
11



2.1.2.1.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ằ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ố.
- 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,…
2.1.2.1.6. Cơ sở tri thức (Knowledge Base)
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 ngồi việc đơn giản hóa các phương pháp tốn 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.
2.1.2.1.7. Mơ tả (biểu diễn ảnh)
Từ Hình 2.8, ả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).
12


-

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

Biểu diễn bằng mã chạy
Phương pháp này 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ã hố đơn giản nhờ một ma trận nhị phân:
U(m, n) = 1 nếu (m, n) thuộc R
U( m, n) = 0 nếu (m, n) không thuộc R
Trong đó:

(m, n) là hàm mơ tả mức xám ảnh tại tọa độ (m, n). Với cách biểu

diễn trên, một vùng ảnh được mô tả bằng một tập các chuỗi số 0 hoặc 1. Giả sử chúng ta
mô tả ảnh nhị phân của một vùng ảnh được thể hiện theo toạ độ (x, y) theo các chiều và
đặc tả chỉ đối với giá trị “1” khi đó dạng mơ tả có thể là: (x, y)r; trong đó (x, y) là toạ độ,
r là số lượng các bit có giá trị “1” liên tục theo chiều ngang hoặc dọc.
Biểu diễn bằng mã xích
Phương pháp này thường dùng để biểu diễn đường biên ảnh. Một đường bất kỳ
được chia thành các đoạn nhỏ. Nối các điểm chia, 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ột dâ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 bằng mã tứ phân

Phương pháp mã tứ phân được dùng để mã hoá cho 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 cho vù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 bố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ân chia 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.
Trên đây là các thành phần cơ bản trong các khâu xử lý ảnh. 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ác khâu đó tùy theo đặc điểm ứng
dụng. Hình 2.9 cho sơ đồ phân tích và xử lý ảnh và lưu đồ thông tin giữa các khối một

13


cách khá đầy đủ. Ảnh sau khi được số hóa được nén, lưu lại để truyền cho các hệ thống
khác sử dụng hoặc để xử lý tiếp theo. Mặt khác, ảnh sau khi số hóa có thể bỏ qua cơng
đoạn nâng cao chất lượng (khi ảnh đủ chất lượng theo 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 2.9 cũng chia các nhánh song song như: nâng cao chất lượng ảnh có hai
nhánh phân biệt: nâng cao chất lượng ảnh (tăng độ sáng, độ tương phản, lọc nhiễu) hoặc
khôi phục ảnh (hồi phục lại ảnh thật khi ảnh nhận được bị méo) v.v…

Hình 2.9 Sơ đồ phân tích và xử lý ảnh à lưu đồ thông tin giữa các khối

14


×