Tải bản đầy đủ

Phát hiện lỗi cắm linh kiện trên mạch điện tử sử dụng kit raspberry pi 3

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH
KHOA ĐIỆN ĐIỆN TỬ
BỘ MÔN KỸ THUẬT MÁY TÍNH - VIỄN THÔNG

ĐỒ ÁN TỐT NGHIỆP

PHÁT HIỆN LỖI CẮM LINH KIỆN TRÊN
MẠCH ĐIỆN TỬ SỬ DỤNG KIT RASPBERRY PI 3
NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ - TRUYỀN THÔNG

Sinh viên:

NGUYỄN PHƯỚC DUY
MSSV: 14141040
NGUYỄN QUỐC HUY
MSSV: 14141132

TP. HỒ CHÍ MINH – 12/2018


TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH

KHOA ĐIỆN ĐIỆN TỬ
BỘ MÔN KỸ THUẬT MÁY TÍNH - VIỄN THÔNG

ĐỒ ÁN TỐT NGHIỆP

PHÁT HIỆN LỖI CẮM LINH KIỆN TRÊN
MẠCH ĐIỆN TỬ SỬ DỤNG KIT RASPBERRY PI 3

NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG

Sinh viên:

NGUYỄN PHƯỚC DUY
MSSV: 14141040
NGUYỄN QUỐC HUY
MSSV: 14141132

Hướng dẫn: ThS. NGUYỄN VĂN PHÚC

TP. HỒ CHÍ MINH – 12/2018



LỜI CẢM ƠN
Qua 4 năm học tập tại trường ĐH Sư phạm Kỹ Thuật TPHCM, nhóm thực hiện
luôn được quý thầy cô truyền đạt những kiến thức quý báu không chỉ về lĩnh vực
chuyên ngành mà còn là những kiến thức về cuộc sống, về kinh nghiệm học tập,
nghiên cứu, được rèn luyện kỹ năng, phong cách làm việc. Qua đó nhóm thực hiện tự
tin hơn, bản lĩnh hơn để vững bước trên con đường sự nghiệp tương lai.
Đồ án tốt nghiệp là cơ hội để nhóm thực hiện tổng hợp, vận dụng những kiến
thức, kỹ năng để nghiên cứu và trình bày một vấn đề khoa học. Để hoàn thành đồ án
này, nhóm thực hiện được nhận được sự giúp đỡ tận tình từ quý thầy cô, sự động viên
ủng hộ của gia đình và bạn bè.
Nhóm thực hiện xin gửi lời cảm ơn chân thành đến quý thầy cô đã hết mình
trong việc truyền đạt kiến thức để nhóm thực hiện có thể tự tin thực hiện đồ án tốt
nghiệp này. Đặc biệt hơn nhóm thực hiện xin gửi lời tri ân sâu sắc đến Ths. Nguyễn
Văn Phúc, thầy đã định hướng, giúp đỡ tận tình, giải đáp những vướng mắc trong quá
trình thực hiện đồ án, giúp nhóm thực hiện có hướng đi đúng và hoàn thành đồ án này.
Cuối cùng xin gửi lời cảm ơn gia đình, các bạn sinh viên trong lớp, các anh chị
khóa trước lời cảm ơn sâu sắc vì những đóng góp quý báu và sự động viên, giúp đỡ


nhiệt tình trong suốt thời gian học tập, cũng như quá trình nghiên cứu, hoàn thành đồ
án này.
Mặc dù đã cố gắng để thực hiện đề tài một cách hoàn chỉnh nhất nhưng không
thể tránh khỏi những thiếu sót nhất định mà bản thân nhóm thực hiện chưa nhìn nhận
được. Nhóm thực hiện rất mong nhận được sự góp ý của quý Thầy, Cô giáo và các bạn
để đồ án được hoàn thiện hơn.

Nhóm thực hiện

Nguyễn Phước Duy

v

Nguyễn Quốc Huy


TÓM TẮT
Ngày nay ngành công nghiệp thiết kế và sản xuất mạch điện tử đã và đang phát
triển rất mạnh mẽ, trong quá trình sản xuất dù công nghệ ngày nay rất hiện đại và gần
như 80% công đoạn đều được máy móc thực hiện, tuy nhiên trên thực tế vẫn có những
linh kiện có thiết kế đặc biệt, hoặc kích thước lớn cần phải nhờ thao tác của con người
để cắm lên PCB, do vậy xác suất lỗi vẫn có thể xảy ra. Điển hình những lỗi như bị
thiếu linh kiện, cắm linh kiện bị ngược hoặc bị lệch hướng, cắm sai linh kiện. Do vậy
sau công đoạn cắm liên kiện cần có hệ thống kiểm tra để đảm bảo không có sai sót xảy
ra. Một trong những phương pháp hiệu quả cho việc phát hiện lỗi này là ứng dụng xử
lý ảnh so sánh đối chiếu giữa ảnh thực tế chụp được với ảnh mẫu đã được kiểm tra tiêu
chuẩn trước đó.
Nhóm thực hiện đã sử dụng được kit Raspberry Pi 3 có gắn camera C270 kết hợp
với thư viện OpenCv cũng như một số thư viện liên quan để thực hiện việc thu nhận
hình ảnh, phát hiện được linh kiện bị thiếu hoặc sai khác so với mạch điện tử chuẩn.
Giao diện được thiết kế thân thiện với người dùng cho phép thao tác ở hai chế độ:
-

Chế độ 1: So sánh, phát hiện lỗi cắm linh kiện ở những vị trí được định vị
trước đối với các mạch điện tử đã có sẵn mẫu.

-

Chế độ 2: Cho phép so sánh, phát hiện lỗi cắm linh kiện ở những vị trí do
người dùng tự thiết lập trên các mạch điện tử mới.

Quản lý dữ liệu bằng cách kết hợp thư viện xlwt và ứng dụng Libreoffice, tạo cơ
dữ liệu lưu trữ lại các thông tin về thứ tự mạch, thời gian mạch được chụp, vị trí sai
khác của mạch (nếu có) và thư mục chứa hình ảnh mạch phát hiện lỗi. Thông tin được
lưu trữ tự động theo thời gian bắt đầu khởi chạy ứng dụng, phục vụ cho việc tra soát
lịch sử và kiểm soát mạch. Những ảnh phát hiện lỗi đã sẽ được lưu trong một thư mục
riêng với tên của ảnh chính là thời gian thực mà ảnh được chụp.
NHÓM THỰC HIỆN

vi


MỤC LỤC
DANH MỤC HÌNH ............................................................................................ IX
DANH MỤC BẢNG ........................................................................................... XI
CÁC TỪ VIẾT TẮT........................................................................................... XII
CHƯƠNG 1 TỔNG QUAN....................................................................................1
1.1

GIỚI THIỆU ĐỀ TÀI ........................................................................................ 1

1.2

MỤC TIÊU ĐỀ TÀI .......................................................................................... 2

1.3

NHIỆM VỤ ĐỀ TÀI .......................................................................................... 3

1.4

GIỚI HẠN ĐỀ TÀI ........................................................................................... 3

1.5

BỐ CỤC ĐỀ TÀI .............................................................................................. 4

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT .......................................................................5
2.1

TỔNG QUAN VỀ ẢNH VÀ XỬ LÝ ẢNH ............................................................5

2.1.1

Lý thuyết về ảnh ...................................................................................5

2.1.2

Lý thuyết về xử lý ảnh ........................................................................10

2.1.3

Quá trình cơ bản của xử lý ảnh. ........................................................11

2.2

MỘT SỐ PHƯƠNG PHÁP SO SÁNH, SO KHỚP MẪU, NHẬN DẠNG VÀ TRÍCH
CHỌN ĐẶC TRƯNG ẢNH .............................................................................. 14

2.2.1

Phương pháp so sánh ảnh nhị phân ..................................................14

2.2.2

Thuật toán so khớp mẫu template matching .....................................15

2.2.3

Phương pháp trích chọn đặc trưng cục bộ bất biến SIFT .................18

2.2.4

Thuật toán so sánh cấu trúc tương tự................................................22

2.3

GIỚI THIỆU VỀ NGÔN NGỮ LẬP TRÌNH PYTHON ...........................23

2.4

THƯ VIỆN OPENCV ...............................................................................26

2.4.1

Giới thiệu về bộ thư viện OpenCV.....................................................26

2.4.2

Cấu trúc cơ bản của OpenCV ...........................................................27

2.4.3

Các câu lệnh cơ bản trong OpenCV..................................................28

2.4.4

Các hàm xử lý ảnh .............................................................................29

2.5

THƯ VIỆN TKINTER ..................................................................................... 30

2.6

THƯ VIỆN XLWT VÀ ỨNG DỤNG LIBREOFFICE ............................................. 32

2.7

THƯ VIỆN ARGPARSE .................................................................................. 33

vii


CHƯƠNG 3 THIẾT KẾ HỆ THỐNG ................................................................35
3.1

YÊU CẦU HỆ THỐNG.................................................................................... 35

3.2

SƠ ĐỒ KHỐI HỆ THỐNG ............................................................................... 35

3.3

THIẾT KẾ PHẦN CỨNG: ................................................................................ 36

3.3.1

Giới thiệu về máy tính nhúng Raspberry Pi 3 ...................................37

3.3.2

Thông số kỹ thuật Raspberry Pi 3 Model B.......................................38

3.3.3

USB camera logitech C270 (Webcam) ..............................................39

3.3.4

Nguyên lý hoạt động của hệ thống ....................................................40

3.4

THIẾT KẾ PHẦN MỀM................................................................................... 41

3.4.1

Cài đặt hệ điều hành Raspbian .........................................................41

3.4.2

Thiết lập hệ điều hành raspbian .......................................................42

3.4.3

Chương trình điều khiển ....................................................................43

CHƯƠNG 4 KẾT QUẢ THỰC NGHIỆM .........................................................46
4.1

KẾT QUẢ KẾT NỐI PHẦN CỨNG.................................................................... 46

4.2

KẾT QUẢ CHƯƠNG TRÌNH

...........................................................................48

4.3 ĐÁNH GIÁ KẾT QUẢ THỰC NGHIỆM .............................................................57
4.3.1 Thời gian thực hiện............................................................................57
4.3.2 Khả năng phát hiện lỗi...................................................................... 58
CHƯƠNG 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ....................................59
5.1

KẾT LUẬN ................................................................................................. 59

5.1.1

Kết quả đạt được ............................................................................... 59

5.1.2

Những hạn chế .................................................................................. 59

5.2

HƯỚNG PHÁT TRIỂN ..................................................................................60

TÀI LIỆU THAM KHẢO ....................................................................................61

viii


DANH MỤC HÌNH
Hình 1. 1 Máy AOI ...................................................................................................2
Hình 2. 1 Biểu diễn mức xám của ảnh số…...………………………………......…6
Hình 2. 2 Không gian màu RBG ...............................................................................8
Hình 2. 3 Không gian màu HSV .............................................................................10
Hình 2. 4 Không gian màu HSL .............................................................................10
Hình 2. 5 Các bước cơ bản trong một quá trình xử lý nhận dạng ảnh ....................11
Hình 2. 6 Quá trình so sánh ảnh ..............................................................................14
Hình 2. 7 Kết quả sau khi thực hiện XOR 2 bức ảnh .............................................15
Hình 2. 8 Mô phỏng hoạt động của template matching ..........................................16
Hình 2. 9 Ảnh nguồn và ảnh mẫu template matching ............................................18
Hình 2. 10 Kết quả sau khi áp dụng template matching với 6 phương pháp khác
nhau .........................................................................................................................18
Hình 2. 11 Biểu đồ mô phỏng việc tính toán các DoG ảnh từ các ảnh kề mờ ........20
Hình 2. 12 Mỗi điểm ảnh được so sánh với 26 lân cận của nó ...............................20
Hình 2. 13 Quá trình lựa chọn các điểm hấp dẫn....................................................21
Hình 2. 14 Biểu diễn các vector đặc trưng..............................................................22
Hình 2. 15 Cấu trúc cơ bản của OpenCV ...............................................................27
Hình 2. 16 Giao diện khi dung Tkinter hiển thị ảnh ...............................................31
Hình 2. 17 Một số giao diện cơ bản được lập trình từ Tkinter ...............................32
Hình 2. 18 Giao diện trang tính LibreOffice...........................................................33
Hình 3. 1 Sơ đồ khối hệ thống ……………………………………………………35
Hình 3. 2 Kit Raspberry Pi3 ....................................................................................38
Hình 3. 3 Camera C270 ..........................................................................................40
Hình 3. 4 Chạy phần mềm win32diskimage ...........................................................41
Hình 3. 5 Giao diện hệ điều hành Raspbian ..........................................................42
Hình 3. 6 Thiết lập hệ điều hành .............................................................................42
Hình 3. 7 Thiết lập camera ......................................................................................43
Hình 3. 8 Camera đã được thiết lập ........................................................................43
ix


Hình 3. 9 Lưu đồ giải thuật .....................................................................................44
Hình 4. 1 Kết quả kết nối phần cứng …………………………………………….46
Hình 4. 2 Hệ thống đèn LED chiếu sáng và vị trí camera ......................................46
Hình 4. 3 Hộp chứa mạch điện cần kiểm tra...........................................................47
Hình 4. 4 Giao diện đề tài .......................................................................................48
Hình 4. 5 Giao diện hướng dẫn của chương trình...................................................48
Hình 4. 6 Hiển thị hình ảnh thực tế camera ghi được .............................................49
Hình 4. 7 Kết quả không phát hiện lỗi chế độ so sánh với mẫu có sẵn ..................50
Hình 4. 8 Kết quả màn hình khi phát hiện lỗi thiếu linh kiện .................................51
Hình 4. 9 Ảnh lưu lại khi phát hiện thiếu một linh kiện .........................................51
Hình 4. 10 Ảnh lưu lại Phát hiện lỗi thiếu 2 linh kiện ............................................52
Hình 4. 11 Ảnh lưu lại khi phát hiện lỗi thiếu 3 linh kiện .....................................52
Hình 4. 12 Màn hình phát hiện và ảnh lưu lại khi linh kiện khác màu ...................53
Hình 4. 13 Màn hình phát hiện và ảnh lưu lại khi linh kiện bị lệch .......................54
Hình 4. 14 Khoanh chọn 2 vùng mẫu mới ..............................................................55
Hình 4. 15 Ảnh chuẩn sau khi được chọn vùng ......................................................55
Hình 4. 16 Lỗi phát hiện thiếu linh kiện ở vùng mới..............................................56
Hình 4. 17 Thư mục chứa ảnh lỗi được lưu lại .......................................................56
Hình 4. 18 Giao diện trang tính lưu trữ dữ liệu chương trình .................................57

x


DANH MỤC BẢNG
Bảng 2. 1 Bảng giá trị khi thực hiện toán tử XOR trên hai pixel ...........................15
Bảng 3. 1 Thông số kỹ thuật Raspberry Pi 3 Model B ...........................................38
Bảng 4. 1 Kết quả thực nghiệm thời gian xử lý chương trình ...............................57

xi


CÁC TỪ VIẾT TẮT
Chữ viết tắt

Chữ tường minh

AOI

Article Optic Inspection

BGR

Blue Green Red

BSD

Berkeley Software Distribution

CPU

Central Processing Unit

CGA

Color Graphic Adaptor

DC

Direct Current

DoG

Difference of Gaussian

GPIO

General-Purpose Input/Output

GUI

Graphical User Interface

HD

High Definition

HDMI

High-Definition Multimedia Interface

HSB

Hue Saturation Bright

HSL

Hue Saturation Lightness

HSV

Hue Saturation Value

LED

Light Emitting Diode

MLL

Machine Learning Library

MSE

Mean Squared Error

NTSC

National Television System Committee

PCB

Printed Circuit Board

PSNR

Peak Signal-to-Noise Ratio

RAM

Random-Access Memory

RGB

Red Green Blue

SIFT

Scale-Invariant Feature Transform

SSIM

Structural Similarity

SMT

Surface-Mount Technology

SoC

System-on-chip

TV

Television

USB

Universal Serial Bus

xii


CHƯƠNG 1 TỔNG QUAN
1.1 GIỚI THIỆU ĐỀ TÀI
Xử lý ảnh là một phân ngành trong xử lý số tín hiệu với tín hiệu xử lý là
ảnh. Đây là một phân ngành khoa học mới rất phát triển trong những năm gần
đây. Xử lý ảnh gồm 4 lĩnh vực chính: xử lý nâng cao chất lượng ảnh, nhận dạng
ảnh, nén ảnh và truy vấn ảnh. Sự phát triển của xử lý ảnh đem lại rất nhiều lợi ích
cho cuộc sống của con người.
Ngày nay với sự phát triển của khoa học công nghệ, xử lý ảnh đã được ứng
dụng rộng rãi và phổ biến trong rất nhiều lĩnh vực trong đó không thể không kể
đến những ứng dụng như sử dụng xử lý ảnh để phân tích, chuẩn đoán y sinh
trong y tế. Trong công nghiệp đóng gói, người ta sử dụng hệ thống xử lý ảnh để
kiểm tra sản phẩm đã được dán nhãn chưa, kiểm tra nhãn hiệu bao bì có đúng với
thành phần được đóng gói. Trong công nghiệp sản xuất dược phẩm, áp dụng hệ
thống xử lý ảnh để kiểm tra số lượng viên thuốc có trong vỉ, phân loại nông sản
hư hỏng, có màu khác biệt so với sản phẩm chuẩn. Ứng dụng xử lý ảnh để nhận
diện khuôn mặt, nhận diện vân tay đang được phổ biến rộng rãi trong các dụng
đời sống hiện đại như điểm danh cũng như bảo mật thông tin...
Và đặc biệt trong ngành công nghiệp sản xuất mạch điện tử hệ thống xử lý
ảnh cũng được ứng dụng trong việc chụp ảnh thực tế và so sánh với ảnh mẫu để
phát hiện lỗi với độ chính xác, tốc độ cao. Điển hình cho hệ thống này là máy
AOI được lắp đặt ở công đoạn SMT. Tuy nhiên máy AOI cần có sự can thiệp của
máy tính với cấu hình và tốc độ lớn cũng như camera với độ phân giải và giá
thành cao. Máy cũng có thiết kế lớn chỉ phù hợp với môi trường xưởng sản xuất
công nghiệp.

1


Hình 1. 1 Máy AOI
Sau khi những linh kiện dán được gắn và kiểm tra sẽ đến công đoạn gắn
những linh kiện hàn tay, vì những linh kiện này có kích thước lớn và cấu tạo đặc
biệt. Sau khi cắm những linh kiện cắm tay cũng cần có hệ thống để so sánh, phát
hiện ra những lỗi cắm sai, thiếu linh kiện.
Từ những vấn đề trên, với mục đích sinh viên nghiên cứu và thực thi mô
hình phát hiện lỗi cắm linh kiện trên mạch điện tử sử dụng kit vi xử lý gần gũi
với sinh viên không cần sử dụng máy tính với cấu hình mạnh cũng như camera
giá thành cao, thiết kế mô hình nhỏ gọn, thiết lập giao diện thân thiện với người
dùng mà vẫn đáp ứng được yêu cầu phát hiện lỗi cắm linh kiện, nhóm thực hiện
lựa chọn đề tài: “Phát hiện lỗi cắm linh kiện trên mạch điện tử dùng kit
Raspberry Pi 3”.

1.2 MỤC TIÊU ĐỀ TÀI
Đề tài “Phát hiện lỗi cắm linh kiện trên mạch điện tử sử dụng Kit Raspberry
Pi 3” với mục tiêu thiết kế thực thi mô hình chụp và phát hiện lỗi cắm thiếu, sai
linh kiện sử dụng kit vi xử lý, không có sự can thiệp của máy tính cấu hình cao.
Thiết kế giao diện thân thiện với người dùng, cung cấp thông tin cho phép người

2


dùng tự thực hiện các thao tác trên giao diện. Tạo lập cơ sở dữ liệu để lưu trữ
thông tin của hệ thống, phục vụ cho vấn đề truy xuất lịch sử và quản lý dữ liệu.

1.3 NHIỆM VỤ ĐỀ TÀI
Nhiệm vụ đề tài “Phát hiện lỗi cắm linh kiện trên mạch điện tử sử dụng Kit
Raspberry Pi 3” bao gồm:
-

Nghiên cứu lý thuyết tổng quan xử lý ảnh, các quá trình cơ bản của xử lý
ảnh, các phương pháp so sánh, so khớp mẫu, nhận dạng và trích chọn đặc
trưng của ảnh.

-

Tìm hiểu cấu tạo phần cứng, nguyên lý hoạt động, thông số, tính năng của
kit Raspberry Pi 3, thông số kỹ thuật camera C270.

-

Tìm hiểu và nghiên cứu về hệ điều hành raspbian, ngôn ngữ lập trình
python, thư viện xử lý ảnh OpenCv, thư viện lập trình giao diện trên
python Tkinter.

-

Tạo lập cơ sở dữ liệu trên môi trường raspberry bằng ngôn ngữ python và
thư viện xlwt kết hợp với ứng dụng Libreoffice.

-

Thiết kế thi công mô hình thực hiện nhiệm vụ phát hiện lỗi cắm linh kiện
trên mạch điện tử đảm bảo độ sáng và khoảng cách cố định của camera.

-

Thiết kế giao diện gần gũi với người dùng, hiển thị đầy đủ thông tin
hướng dẫn cho người dùng dễ dàng sử dụng.

1.4 GIỚI HẠN ĐỀ TÀI
Đề tài “Phát hiện lỗi cắm linh kiện trên mạch điện tử sử dụng Kit Raspberry
Pi 3” sử dụng Kit Raspberry Pi 3, kết hợp với camera C270 thực hiện thu nhận
hình ảnh và phát hiện lỗi trên mạch điện tử. Chương trình được viết trên ngôn
ngữ python và ứng dụng thư viện xử lý ảnh OpenCv.
Hệ thống thực hiện thu nhận và xử lý tốt nhất trên ảnh tĩnh, mạch điện tử cố
định, không di chuyển. Phát hiện lỗi tốt nhất ở lỗi thiếu linh kiện mà chủ yếu là
linh kiện cắm tay. Không phát hiện được lỗi thiếu chì hoặc phát hiện chưa chính
xác những lỗi như lệch, khác màu, khác ký tự được in trên linh kiện.

3


Hệ thống làm việc trong môi trường đầy đủ ánh sáng, các yếu tố về độ sáng
cũng như khoảng cách từ camera đến mạch điện tử phải là cố định để cho kết quả
chính xác nhất.
Quản lý cơ sở dữ liệu cá nhân không đồng bộ lên internet.

1.5 BỐ CỤC ĐỀ TÀI
Chương 1: Tổng quan. Trong chương này, đồ án được trình bày tổng quan
về xử lý ảnh, ứng dụng của xử lý ảnh trong việc phát hiện lỗi sai trên mạch điện
tử từ đó đi đến làm rõ mục tiêu, giới hạn nhiệm vụ và bố cục đề tài.
Chương 2: Cơ sở lý thuyết. Trong chương này đề cập đến lý thuyết về ảnh,
xử lý ảnh, bên cạnh đó còn giới thiệu về một số môi trường màu, tổng quan về xử
lý ảnh dựa trên thư viện OpenCV và ngôn ngữ Python, một số phương pháp,
thuật toán so sánh, so khớp và tìm đặc trưng của ảnh.
Chương 3: Thiết kế hệ thống. Trong chương này trình bày về yêu cầu thiết
kế của hệ thống từ đó lựa chọn kit vi xử lý cũng như các module liên quan. Nêu
tổng quan về cấu tạo, thiết kế, thông số kỹ thuật của bộvvi xử lý, các module
được sử dụng trong mô hình hệ thống. Từ đó sơ đồ khối hóa, lựa chọn giải thuật
xử lý phù hợp và vẽ lưu đồ hoạt động của chương trình.
Chương 4: Kết quả thực nghiệm. Chương này trình bày về kết quả hệ thống
về phần cứng, phần mềm, kết quả của việc phát hiện lỗi cắm linh kiện trên mạch
điện tử. Đánh giá hoạt động của hệ thống.
Chương 5: Kết luận và hướng phát triển.Chương này đưa ra những kết luận
về quá trình nghiên cứu, tổng hợp những kiến thức đạt được và những mặt hạn
chế của đề tài. Trình bày về khả năng và hướng phát triển của đề tài.

4


CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

2.1 TỔNG QUAN VỀ ẢNH VÀ XỬ LÝ ẢNH
2.1.1 Lý thuyết về ảnh
2.1.1.1 Điểm ảnh
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, ả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. 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 hay gọi tắt là Pixel. Trong khuôn khổ ảnh hai chiều, mỗi pixel ứng với cặp
tọa độ (x, y).
Điểm ảnh 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.[2]
2.1.1.2 Độ phân giải của ảnh
Độ phân giải 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

5


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.[2]
2.1.1.3 Mức xám của ảnh
Một điểm ảnh có hai đặc trưng cơ bản là vị trí (x, y) của điểm ảnh và độ xám
của nó.
Mức xám của điểm ảnh là cường độ sáng của nó được gán bằng giá trị số tại
điểm đó. Các thang giá trị mức xám thông thường: 16, 32, 64, 128, 256 (mức 256
là mức 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).
Ảnh có thể biểu diễn dưới dạng tín hiệu tương tự hoặc tín hiệu số. Trong biểu
diễn số của các ảnh đa mức xám, một ảnh được biểu diễn dưới dạng một ma trận
hai chiều. Mỗi phần tử của ma trận biểu diễn cho mức xám hay cường độ của ảnh
tại vị trí đó.

Hình 2. 1 Biểu diễn mức xám của ảnh số
Trong hình 2.1 một lưới chia ô vuông tưởng tượng được đặt lên ảnh. Độ lớn
mỗi ô vuông của lưới xác định kích thước của một điểm ảnh. Mức xám của một
điểm được tính bằng cường độ sáng trung bình tại mỗi ô vuông này. Mắt lưới
càng nhỏ thì chất lượng ảnh càng cao.
Trong kỹ thuật truyền hình tiên tiến, hình ảnh cần chất lượng cao với độ phân
giải gấp hai lần so với các chuẩn hiện nay. Trong kỹ thuật tương tự, một bức ảnh
thường được biểu diễn dưới dạng các dòng nằm ngang kế tiếp nhau. Mỗi dòng là
một tín hiệu tương tự mang theo các thông tin về cường độ sáng dọc theo một

6


đường nằm ngang trong ảnh gốc. Ảnh trên một chiếc TV được hiện lên qua các
dòng quét này. Mặc dù thuật ngữ "tương tự" được dùng để mô tả cho các ảnh
quét liên tiếp nhưng thực tế ảnh chỉ tương tự dọc theo hướng nằm ngang. Nó là
rời rạc khi xét theo hướng dọc và chính vì vậy mà tín hiệu ảnh là tín hiệu lai nửa
tương tự, nửa số.
Một máy truyền hình được thiết kế để thu tín hiệu truyền hình mã hoá theo
tiêu chuẩn NTSC của Mỹ có khả năng hiển thị xấp xỉ 525 dòng. Công nghệ
truyền hình tiến bộ nỗ lực để cung cấp cho chúng ta số lượng các dòng gấp hai
lần, cho độ phân giải tốt hơn là TV màn ảnh rộng. Một TV có màn ảnh lớn hơn
28 inch được coi là một TV có màn ảnh rộng. Một điều cần chú ý là TV có khả
năng hiện một số dòng như nhau cho dù nó là 5 inch hay là 50 inch. Màn ảnh lớn
nhất của loại TV dòng quét xen kẽ mà mắt người có khả năng phân biệt được từ
khoảng cách thông thường vào khoảng 3 mét
Ả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. Phân mức đen trắng đó thành L mức, nếu
sử dụng số B bit để mã hóa mức đen trắng (hay mức xám) thì L được xác định:
L=2B

(2.1)

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. 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: ảnh chỉ có 2 mức đen trắng phân biệt tức dùng 1 bit mô tả 2 1
mức khác nhau. Nói cách khác: mỗi điểm ảnh của ảnh nhị phân chỉ có thể là 0
hoặc 1.

7


Ảnh màu: theo lý thuyết của Thomas là ảnh tổ hợp từ 3 màu cơ bản gồm đỏ
(R), lục (G), lam (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 lẻ gồm: đỏ, lục và lam.
Để 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 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. Trong khuôn khổ lý thuyết ba màu (Red, Blue, Green) để tạo nên không
gian màu, người ta thường dùng 3 byte để mô tả mức màu.[2]
2.1.1.4 Không gian màu
-

Không gian màu RBG

Hình 2. 2 Không gian màu RBG
RBG là không gian màu rất phổ biến được dùng trong đồ họa máy tính và
trong các kỹ thuật xử lý ảnh trên máy tính nhúng. Ý tưởng chính của không gian
màu này là sự kết hợp của 3 màu sắc cơ bản: màu đỏ (R, Red), xanh lục (G,
Green) và xanh lơ (B, Blue) để mô tả tất cả các màu sắc khác.
Nếu như một ảnh số được mã hóa bằng 24bit, nghĩa là 8bit cho kênh R, 8bit
cho kênh G, 8bit cho kênh B, thì mỗi kênh màu này sẽ nhận giá trị từ 0-255. Với

8


mỗi giá trị khác nhau của các kênh màu kết hợp với nhau ta sẽ được một màu
khác nhau, như vậy ta sẽ có tổng cộng 255x255x255 = 1.66 triệu màu sắc.
-

Không gian màu HSV và HSL

HSL và HSV là hai hình dạng phổ biến nhất của các điểm trong một mô hình
màu RGB. Được phát triển vào những năm 1930 cho các ứng dụng truyền hình
màu, không gian màu HSL cho phép thêm thông tin màu vào các tín hiệu đen
trắng hiện tại, có nghĩa là không giống như các hệ thống màu trước đó, máy thu
đơn sắc có thể nhận tín hiệu màu phát bằng HSL.
HSL viết tắt của màu sắc, độ bão hòa, và độ sáng và cũng thường được gọi là
HLS. HSV viết tắt của màu sắc, độ bão hòa, và giá trị. Trong mỗi xi lanh, góc
quanh trục trung tâm tương ứng với “hue”, khoảng cách từ trục tương ứng với
“độ bão hòa”, và khoảng cách dọc theo trục tương ứng với “lightness”, “value”
hoặc “brightness”.
Bởi vì HSL và HSV là sự biến đổi đơn giản của các mô hình RGB phụ thuộc
vào thiết bị, nên các màu cơ bản mà chúng xác định phụ thuộc vào màu sắc của
các khe cắm màu đỏ, xanh lục và xanh dương của thiết bị hoặc của không gian
RGB cụ thể.
Nguyên tắc cơ bản
HSL và HSV đều là hình trụ, với màu sắc, kích thước góc của chúng, bắt đầu
từ màu đỏ ở 0°, đi qua màu xanh lá cây ở 120° và màu xanh chính ở 240°, và sau
đó gói lại đỏ ở 360°. Trong mỗi hình học, trục thẳng đứng trung tâm bao gồm các
màu trung lập, màu sắc hoặc màu xám, từ màu đen ở giá trị 0, trắng ở giá trị 1.
Trong cả hai hình học, các màu phụ, phụ lục, màu đỏ, vàng, xanh lá cây,
xian, xanh dương, magenta và tuyến tính giữa các cặp liền kề nhau, đôi khi được
gọi là màu thuần khiết, được sắp xếp xung quanh cạnh ngoài của xi lanh với độ
bão hòa 1. Những màu bão hòa này có độ sáng nhẹ 1/2 trong HSL, trong khi ở
HSV chúng có giá trị 1. Trộn các màu thuần khiết này với màu đen tạo ra cái gọi
là bóng mát-lá bão hòa không thay đổi. Trong HSL, độ bão hòa cũng không thay
đổi bằng cách nhuộm màu bằng các hỗn hợp màu trắng và chỉ với cả tông màu

9


đen và trắng có độ bão hòa dưới 1. Trong HSV, nhuộm màu đơn giản làm giảm
độ bão hòa. [16]

Hình 2. 3 Không gian màu HSV

Hình 2. 4 Không gian màu HSL

2.1.2 Lý thuyết về xử lý ảnh
Con người thu nhận thông tin qua các giác quan trong đó thị giác đóng vai trò
quan trọng nhất. Cùng với sự phát triển nhanh của phần cứng máy tính, xử lý
ảnh và đồ hoạ đã phát triển mạnh mẽ và ngày càng có nhiều ứng dụng trong

10


cuộc sống. Nhờ thế mà xử lý ảnh từng bước đóng một vai trò quan trọng trong
tương tác người và máy. Quá trình xử lý nhận dạng ảnh là một quá trình thao tác
nhằm biến đổi một ảnh đầu vào để cho ra một kết quả mong muốn. Xử lý ảnh
thông thường gồm 3 bước:
Bước 1: Nhập một hình ảnh với một máy quét quang học hoặc trực tiếp
thông qua nghệ thuật chụp ảnh số.
Bước 2: Thao tác hoặc phân tích các hình ảnh bằng một cách nào đó. Giai
đoạn này có thể bao gồm kỹ thuật nâng cao chất lượng hình ảnh và nén dữ liệu,
hoặc hình ảnh có thể được phân tích để tìm ra các hình dáng mà mắt người
không thể thấy được.
Bước 3: Kết quả đầu ra, hình ảnh có thể bị thay đổi bằng cách này hay cách
khác, nó có thể là một ảnh tốt hơn hoặc một kết luận.[2]

2.1.3 Quá trình cơ bản của xử lý ảnh.
Một ảnh đầu vào cần thông qua rất nhiều bước khác nhau để có được một ảnh
đầu ra mong muốn. Các quá trình cơ bản của một hệ thống xử lý ảnh được thể
hiện thông qua sơ đồ dưới đây:

Hình 2. 5 Các bước cơ bản trong một quá trình xử lý nhận dạng ảnh
Thu nhận ảnh: Để thực hiện được quá trình đầu tiên trong hệ thống xử lý
ảnh, ta cần sử dụng các thiết bị thu nhận ảnh để chuyển các thông tin dưới dạng
hình ảnh thành các cấu trúc lưu trữ được trong máy tính và được hiển thị ra màn
hình, máy in... Ảnh có thể thu nhận từ vệ tinh qua các bộ cảm ứng, qua camera,
máy chụp ảnh đơn sắc (màu), hay các tranh, ảnh được quét trên máy quét ảnh.
Nếu ảnh thu nhận được chưa phải là dạng số hóa ta phải chuyển đổi hay số hóa
ảnh trước khi chuyển sang giai đoạn tiếp theo.
Tiền xử lý: Sau khi được thu nhận bởi các thiết bị thu nhận ảnh, ảnh sẽ được
cải thiện về độ tương phản, nhiễu… bởi các kỹ thuật xử lý ảnh để làm ảnh tốt

11


hơn theo mục đích sử dụng nhằm phục vụ cho quá trình xử lý tiếp theo. Một số
tiến trình trong quá trình tiền xử lý là:
Điều chỉnh độ chiếu sáng: Khắc phục hậu quả của sự chiếu sáng không đồng
đều.
Khử nhiễu: Nhiễu được chia làm 2 loại cơ bản là nhiễu hệ thống và nhiễu
ngẫu nhiên. Trong đó, nhiễu hệ thống là nhiễu có quy luật có thể khử bằng các
phép biến đổi Fourier và loại bỏ các đỉnh điểm. Đối với nhiễu ngẫu nhiên thì
được khắc phục bằng các phép lọc (lọc trung bình, lọc trung vị…).
Hiệu chỉnh mức xám: Có thể tăng hay giảm số mức xám nhằm khắc phục tính
không đồng bộ gây nên từ hiệu ứng của thiết bị thu nhận hình ảnh hoặc độ tương
phản giữa các vùng ảnh.
Chuẩn hóa độ lớn, hình dạng và màu sắc.
Nắn chỉnh hình học: Ảnh thu nhận thường bị biến dạng do các thiết bị quang
học và điện từ, để khắc phục điều này người ta sử dụng các phép chiếu được xây
dựng trên tập các điểm điều khiển.
Phân đoạn ảnh: Là một quá trình thao tác ở mức thấp trong toàn bộ hệ thống
xử lý ảnh. Quá trình này thực hiện việc phân vùng ảnh thành các vùng rời rạc và
đồng nhất với nhau hay nói cách khác là xác định các biên của các vùng ảnh đó.
Phân đoạn ảnh là chia ảnh thành các vùng không trùng lắp, mỗi vùng gồm một
nhóm pixel liên thông và đồng nhất theo một tiêu chí nào đó. Sau khi phân đoạn
mỗi pixel chỉ thuộc về một vùng duy nhất. Để đánh giá chất lượng của quá trình
phân đoạn là rất khó, vì vậy cần phải xác định rõ mục tiêu của quá trình phân
đoạn là gì?
Biểu diễn dạng biên cho một vùng phù hợp với những ứng dụng chỉ quan tâm
đến các đặc trưng hình dạng bên ngoài của đối tượng, ví dụ như các góc cạnh và
điểm uốn trên biên.
Biểu diễn dạng vùng lại thích hợp cho những ứng dụng khai thác các tính chất
bên trong của đối tượng.
Trích chọn đặc điểm: Dựa trên các thông tin thu nhận được qua quá trình
phân đoạn, kết hợp với các kỹ thuật xử lý, thủ tục phân tích dữ liệu để đưa ra các

12


đặc điểm đặc trưng, đối tượng ảnh cũng như các thông tin cần thiết trong quá
trình xử lý. Nhờ đó việc nhận dạng các đối tượng ảnh chính xác hơn, tốc độ tính
toán cao và dung lượng nhớ lưu trữ giảm xuống. Các đặc điểm của đối tượng
được trích chọn tùy theo mục đích nhận dạng trong hệ thống xử lý ảnh. Sau đây
là một vài đặc điểm của ảnh:
Đặc điểm không gian: Phân bố mức xám, phân bố xác suất, biên độ, điểm
uốn…
Đặc điểm biến đổi: Các đặc điểm loại này được trích chọn bằng việc thực
hiện lọc vùng. Các bộ vùng được gọi là “mặt nạ đặc điểm” thường là các khe
hẹp với hình dạng khác nhau như chữ nhật, tam giác, cung tròn…
Đặc điểm biên và đường biên: Đặc trưng cho đường biên của đối tượng và do
vậy rất hữu ích trong việc trích trọn các thuộc tính bất biến được dùng khi nhận
dạng đối tượng.
Nhận dạng: Là quá trình cuối cùng của hệ thống xử lý ảnh-quá trình liên
quan đến các mô tả đối tượng mà người ta muốn đặc tả nó. Quá trình này thường
đi sau quá trình trích chọn đặc điểm trong hệ thống xử lý ảnh. Có 2 kiểu nhận
dạng ảnh cơ bản:
Nhận dạng theo tham số (mô tả tham số).
Nhận dạng theo cấu trúc (mô tả theo cấu trúc).
Hiện nay, người ta đã áp dụng kỹ thuật nhận dạng khá thành công với nhiều
đối tượng khác nhau như: nhận dạng ảnh vân tay, khuôn mặt, nhận dạng chữ
(chữ cái, chữ số, chữ có dấu), nhận dạng chữ in phục vụ cho việc tự động hóa
quá trình đọc tài liệu, tăng tốc độ và chất lượng nhận thông tin từ máy tính.
Ngoài ra kỹ thuật nhận dạng dựa vào kỹ thuật mạng nơ-ron đang được áp dụng
và cho kết quả khả quan. [2]

13


2.2 MỘT SỐ PHƯƠNG PHÁP SO SÁNH, SO KHỚP MẪU, NHẬN
DẠNG VÀ TRÍCH CHỌN ĐẶC TRƯNG ẢNH
2.2.1 Phương pháp so sánh ảnh nhị phân
Có nhiều thuật toán so sánh ảnh để tìm ra được điểm khác nhau giữa hai bức
ảnh, ở đây sẽ giới thiệu về phương pháp trừ nhị phân 2 ảnh. Đây là thuật toán
đơn giản nhất mà chúng ta có thể tìm thấy để phát hiện sự khác biệt giữa hai hình
ảnh. Nói cách khác, phép trừ hình ảnh được thực hiện để có được sự khác biệt
giữa hai hình ảnh. Trong thuật toán này, chúng ta cần sử dụng hai hình ảnh - hình
ảnh tham chiếu và hình ảnh được kiểm tra.[10]
Sơ đồ thực hiện của phương pháp:

Hình 2. 6 Quá trình so sánh ảnh

Trong phương pháp này, chúng tôi so sánh cả hình ảnh pixel-by-pixel bằng
toán tử logic XOR. Sau khi thực hiện thao tác, chúng ta sẽ nhận được hình ảnh

14


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×