SlideShare a Scribd company logo
1 of 67
Download to read offline
1
TRƯỜ Ạ Ọ
NG Đ I H C BÁCH KHOA HÀ NỘI
LUẬ Ạ
N VĂN TH C SĨ
Nghiên c m tra chi t rót chai t
ứu hệ thống kiể ế ự động
TRẦN THIÊN NAM
thiennam.tran2009@gmail.com
Chuyên ngành n T
K t
ỹ thuậ Cơ Điệ ử
Giảng viên hướ ẫ
ng d n: GVCC. TS. Nguyễn Trọng Doanh
B :
ộ môn Cơ Điệ ử
n T
Viện: Cơ Khí
HÀ NỘI, 3/2020
Chữ ký của GVHD
2
ĐỀ Ậ
TÀI LU N VĂN
Đề ế ệ
tài tên ti ng Vi t
“Nghiên c m tra chi t rót chai t
ứu hệ thống kiể ế ự động”.
Đề ế
tài tên ti ng Anh
“Research of automatic vision system for bottle filling inspection”.
Giáo viên hướ ẫ ễ
ng d n: GVCC.TS. Nguy n Trọng Doanh
Giáo viên hướ ẫ
ng d n
Ký và ghi rõ họ tên
3
LỜI ẢM
C ƠN
Đầu tiên em xin chân thành cảm ơn GVCC.TS. Nguy n T ng Doanh và TS.
ễ rọ
Hoàng Hồng H ng d
ải – ngườ ự
i đã tr c tiế ớ
p hư ẫ ị ớ
n và đ nh hư ng giúp em có thể
nhanh chóng ti p c
ế ậ ắ
n, n m bắt kiến th tài lu
ứ ề
c và hoàn thành đ ận văn.
Em xin g y cô giáo khoa b
ửi lời c i toàn th
ả ớ
m ơn t ể thầ ộ ệ
môn Cơ đi n tử ệ
– Vi n
Cơ khí trường Đạ ọ ộ
i h c Bách Khoa – Hà N i, đã tận tình giả ạ
ng d y trang bị cho em
những kiến thức quý báu trong nhữ ọ ừ
ng năm h c v a qua.
Mặc dù em đã cố ắ
g ng hoàn thành tố ề
t đ tài nhưng cũng không thể ỏ
tránh kh i
nh nh n
ững sai sót nh nh, r t mong
ấ ị
t đ ấ ậ được đóng góp ý kiến c y cô giáo và
ủa thầ
các bạn.
TÓM NG
TẮT ỘI
N DU LUẬN VĂN
Nội dung nghiên cứu:
Nghiên c c v m tra chi t rót chai t
ứ ợ
u sơ lư ề ệ
h thống kiể ế ự động
Nghiên cứu tổng quan về ệ
h thống xử lý ảnh
Nghiên c t thu
ứu về ậ
các kĩ thu ật toán nhận dạng và phát hiệ ố ợ
n đ i tư ng
Nghiên cứu về mô hình YOLO trong bài toán nhận dạ ố ợ
ng đ i tư ng
Nghiên c t toán phát hi i chai
ứu và tố ậ
i ưu hóa thu ện và nhận dạng lỗ
K u:
ết quả nghiên cứ
B d -
ằ ế
ng phương pháp k t hợp sử ụng mạng nơ ron (YOLO) và phương pháp tìm
biên c n th
ạnh truyề ống, t n l c tiêu chính: nâng
huật toán phát hiệ ỗ ạ ợ
i đ t đư c hai mụ
cao độ chính xác và khả năng kiể ự ế
m tra tr c tuy n đả ả ổ
m b o tính n đinh và tiết kiệm
th lý th th
ời gian xử của hệ ống. Một hệ ống kiểm tra trên chai Cocacola được thực
nghi nghi
ệm. K t qu
ế ả thực ệ ợ
m thu đư c chỉ ớ
ra v i thu t toán phát tri
ậ ển độ chính
xác có thể đạ ợ
t đư c 95% và có th ng trong s
ể ợ
đư c ứng dụ ản xuấ ự độ
t t ng.
Giáo viên hướ ẫ
ng d n Học viên
Ký và ghi rõ họ tên Ký và ghi rõ họ tên
4
M C
ỤC LỤ
ĐỀ Ậ
TÀI LU N VĂN 2
L 3
ỜI CẢM ƠN
TÓM T I DUNG LU
ẮT NỘ ẬN VĂN 3
M C 4
ỤC LỤ
DANH MỤC HÌNH VẼ 6
DANH M C B
Ụ ẢNG 8
CHƯƠNG 1. MỞ ĐẦU 9
1.1 9
Đặt vấ ề
n đ
1.2 tài
Tính cấp thiết của đề 9
1.3 tài
Mục tiêu đề 9
1.4 Nội dung của luận văn 10
CHƯƠNG 2. TỔ Ề Ử Ả
NG QUAN V X LÝ NH 11
2.1 x
Cơ bản về ử lý ảnh 11
2.2 trong
Các kĩ thuật lọc nhiễu ảnh 12
2.2.1 nh 12
Nguyên tắc chung củ ọ
a l c ả
2.2.2 nh:
M b l
ột số ộ ọc làm mịn ả 13
2.3 Các kĩ thuật dò cạnh17
2.3.1 17
Khái quát về dò cạnh
2.3.2 nh 17
Các phương pháp dò cạ
2.4 Kĩ thuật hình thái học (Morphological technique) 21
CHƯƠNG 3. MỘ Ố Ậ Ậ Ệ
T S KĨ THU T THU T TOÁN PHÁT HI N VÀ NHẬN
DẠ Ố Ợ
NG Đ I TƯ NG 25
3.1 Tổng quát chung khái niệ ậ ạ ố ợ
m nh n d ng đ i tư ng 25
3.2 Các thuật toán chính để ệ
phát hi n và nh n d
ậ ạ ố
ng đ i tượng 26
3.2.1 Lớp các mô hình họ R-CNN 26
3.2.2 Lớp các mô hình họ YOLO31
3.2.3 SSD máy dò Multi-Box 32
CHƯƠNG 4. MÔ HÌNH YOLO TRONG BÀI TOÁN NH NG Đ
ẬN DẠ ỐI
TƯỢNG 34
4.1 Giới thiệu khái quát thuật toán 34
4.2 Tổng quát mô hình củ ậ
a thu t toán 35
4.2.1 35
Grid System
4.2.2 CNN cho YOLO object detection:37
4.2.3 38
l
Hàm ỗi Loss Function:
a, Classification Loss 38
b, Localization Loss: 39
5
c, Confidence Loss: 40
4.2.4 Dự đoán lớp và t boundary box sau quá trình training
ọ ộ
a đ 40
CHƯƠNG 5. THUẬ Ậ Ạ Ỗ
T TOÁN NH N D NG L I CHAI 43
5.1 th
Cấu trúc phần cứng của hệ ống: 43
5.1.1 43
Tổng quan hệ ố
th ng
5.1.2 44
H x
ệ ử lý ảnh trong hệ ố
th ng
5.2 Xây dựng thuật toán phân lo i chai coca
ạ 46
5.2.1 47
Phương pháp 1: (Sử thuật thuật toán Template Matching)
5.2.2 Phương pháp 2: Thuậ ử ụ ạ
t toán s d ng Edge Detection (tìm biên c nh)………
52
5.2.3 Phương pháp 3 được đề xuất trong bài toàn c a lu
ủ ận văn (kế ợ ữ ậ
t h p gi a thu t
toán YOLO trong neural network và edge detection sử ụ
d ng trong phương pháp 2)
56
5.3 Phân tích kế ả ạ ợ ủ ề ấ
t qu đã đ t đư c c a phương pháp đ xu t 62
CHƯƠNG 6. K N CHUNG VÀ HƯ
Ế Ậ
T LU ỚNG PHÁT TRIỂ Ủ
N C A LUẬN
VĂN 66
6.1 Kết luận chung 66
6.2 Hướng phát triển của luận văn 66
6
DANH MỤC HÌNH VẼ
Hình 2.1 Các giai đoạ ủ ộ ử
n c a m t quá trình x lý ảnh 11
Hình 2.2 Quy t n l
ắ ậ ậ
c nhân ch p ma tr ọc kernel 13
Hình 2.3 Kế ả ọ
t qu sau khi l c trung bình [8] 14
Hình 2.4 Sơ đồ ố
phân ph i Gauss [8] 15
Hình 2.5 Kế ả ọ
t qu sau khi l c Gauss [8] 16
Hình 2.6 Kế ả ọ ị
t qu sau khi l c trung v [8]17
Hình 2.7 Lọc biên theo phương pháp Robert Cross [8] 18
Hình 2.8 Lọc biên theo phương pháp [8] 19
Hình 2.9 Lọc biên theo phương pháp Canny 21
Hình 2.10 Quá trình chập trong phép toán Giãn nở 23
Hình 2.11 Quá trình chập trong phép toán co 24
Hình 3.1 Sơ đồ ổ ợ ụ
t ng h p các tác v Vision [9] 26
Hình 3.2 Quá trình phát tri t toán phát hi
ện của thuậ ện và nhận d ng [9]
ạ ố ợ
ng đ i tư
26
Hình 3.3 Kiến trúc mô hình R-CNN [9] 27
Hình 3.4 Kiến trúc mô hình Fast R-CNN [9] 28
Hình 3.5 Kiến trúc single model Fast R-CNN [9] 29
Hình 3.6 Kiến trúc mô hình Faster R-CNN [9] 30
Hình 3.7: Các kích thướ ỉ ệ ủ
c t l c a mô hình [9] 31
Hình 3.8 Quá trình nhậ ạ ố ợ
n d ng đ i tư ng mô hình họ YOLO [9] 31
Hình 3.9 Cấ ạ ủ
u trúc m ng c a SSD [9] 33
Hình 4.1 Kế ả ậ ạ ố ợ
t qu nh n d ng các đ i tư ng trong khung hình 34
Hình 4.2 Xác đị ủ
nh tâm c a bounding box thuộ ố ợ
c đ i tư ng 36
Hình 4.3 Dự ộ ệ ủ
đoán đ l ch c a 2 box chứa object 37
Hình 4.4 Quá trình hoạ ộ ủ ớ ố
t đ ng c a mô hình CNN v i đ i tượng đã cho [7] 38
Hình 4.5 Dự ủ ố ợ
đoán box c a đ i tư ng [7] 39
Hình 4.6 M phát hi n báo Stop t nh [7]
ột ví dụ ề
v ện biể ừ hình ả 41
Hình 4.7 Công thứ ỉ ệ
c tính t l IoU [7] 41
Hình 4.8 Các đánh giá tỉ ệ
l IoU [7] 42
Hình 5.1 Hệ ố ấ ầ ứ
th ng c u trúc ph n c ng 43
Hình 5.2 Sơ đồ ầ ấ ủ ệ
các ph n c u trúc chính c a h thố ậ ạ
ng nh n d ng 43
Hình 5.3 Camera Basler 44
Hình 5.4 Vùng làm việc Field of View 45
Hình 5.5 Các thông số hoạ ộ
t đ ng của Camera trong hệ thống 46
Hình 5.6 Sơ đ a phương pháp Template Matching
ồ ậ ủ
thu t toán c 49
Hình 5.7 (a) Ảnh mẫu thu đượ Ả
c (b) nh nhị phân (c) Ảnh lấy ph nh sau
ần bù (d) Ả
l u
ọc nhiễ 50
7
Hình 5.8 (a) Ảnh thu đượ ị ế
c b thi u (thi p) (b) phân (c)
ếu nắ Ảnh nhị Ảnh l y ph
ấ ần
bù (d) Ảnh sau lọc nhiễu 51
Hình 5.9 (a) c b u ( thi u tamper) (b) phân (c)
Ả ợ
nh thu dư ị thiế ế Ảnh nhị Ảnh lấy
phần bù (d) c nhi
Ảnh sau lọ ễu 51
Hình 5.10 (a) Ảnh thu đượ ị ế
c b thi u (N n tem b tách kh i nhau) (b)
ắp và phầ ị ỏ Ảnh
nh 51
ị Ả
phân (c) nh l y ph
ấ ần bù (d) Ảnh sau lọc nhiễu
Hình 5.11: Ảnh thu nhận b i do l
ị ừ ố
t ch ỗi 51
Hình 5.12 Sơ đồ ậ
thu t toán Edge Detection 52
Hình 5.13 Kết quả chương trình báo đạ ậ
t khi nh n diện thành công nắp chai và mực
nước 54
Hình 5.14 Kết quả chương trình báo lỗ ậ ợ ắ ự ớ
i nh n đư c n p chai nhưng m c nư c
không chính xác 54
Hình 5.15 Kết quả ỗ
chương trình báo l i khi không tồ ạ ắ ự ớ
n t i n p chai và m c nư c
không chính xác 55
Hình 5.16 Kết quả chương trình báo lỗ ắ ị ắ
i khi n p chai b l p lệ ự ớ
ch và m c nư c
không chính xác 55
Hình 5.17 Sơ đồ ậ ợ ử ụ
thu t toán đư c s d ng trong luận văn 56
Hình 5.18 Kết quả kiểm tra chai coca l n 1 (Chai 1 chính xác, Chai 2 thi
ầ ếu nắp)
58
Hình 5.19 Kết quả kiểm tra chai coca lần 2 (Chai 1 chính xác, Chai 2 thiếu nhãn
dán) 58
Hình 5.20 Vùng roi cắt từ bbox chai 59
Hình 5.21 Ả ắ
nh sau khi c t ROI chưa dùng Filter 59
Hình 5.22 Ả ắ
nh sau khi c t ROI dùng Median Filer 59
Hình 5.23 Chai sau khi s u ch
ử ụ
d ng bộ ọ ề
l c Canny (chưa đi ỉnh Threshold)60
Hình 5.24 Chai sau khi s nh Threshold)
ử ụ
d ng bộ ọ ề ỉ
l c Canny (đã đi u ch 60
Hình 5.25 Đườ ẳ ợ
ng th ng tìm đư c 61
Hình ng m
5.26 Kế ả ờ
t qu hai đư ự ớ ờ
c nư c và đư ng chuẩn 61
Hình 5.27 Chương trình GUI hoàn thiện hoạ ộ ự ế
t đ ng trong th c t 62
Hình 5.28 Biểu đồ ế ả ự
k t qu th c nghiệ ế ề
m đo liên ti p các chai trên dây chuy n sản
xu 63
ất mô phỏng
Hình 5.29 Bi c nghi
ể ồ ế
u đ k t quả ự
đo th ệm đo 1 chai 10 lần 64
8
DANH MỤC BẢNG
Bảng 5.1 Nhận xét đưa ra k a hai Phương pháp 1 và 2
ế ậ ủ
t lu n chung c 56
Bảng 5.2 Kết quả thực nghiệ ế
m đo liên ti p các chai trên dây chuyền sản xuất mô
ph ng 63
ỏ
Bảng 5.3 Kết quả thực nghiệ ầ ợ
m đo 1 chai l n lư t 10 lần 64
Bả ế
ng 5.4 Đưa ra k t luận chung và so sánh giữa ba phương pháp 65
9
M U
Ở ĐẦ
Đặ ấ ề
t v n đ
Các dây chuyền công nghệ sản xuất hiện đạ ệ ầ
i hi n nay g n như là hoàn toàn tự động
hoặc bán tự độ ặ
ng. Đ c bi t v i các ngành ngh chính xác cao và kh
ệ ớ ề ỏ ộ
đòi h i đ ử
trùng tuy i thì vi c tham gia 100% c a máy móc trong quá trình s
ệ ố
t đ ệ ủ ản xuất sẽ
đáp ứng đượ ề
c các tiêu chí v yêu c u công ngh
ầ ệ. Trong đó có ngành s n xu
ả ất nước
ngọ ớ ặ
t đóng chai v i đ c thù được sản xuất trên dây chuyền khép kín, đảm bảo vệ
sinh. V i các công ngh
ớ ệ ị ờ
cân đo đ nh lư ng kiểm tra chính xác, khâu đóng gói,
chi trùng.
ết rót chai, thùng thành phẩm đảm bảo khử
Một hệ th ch
ống sản xuất các ất lỏng đóng chai thư ng đư
ờ ợ ề
c phân chia thành nhi u
khâu nối tiếp nhau. Trong đó khâu kiể ấ ợ ủ
m tra ch t lư ng c a chai sau quá trình chiết
rót là t quy trình r a h
mộ ất quan trọng củ ệ thống. Chính vì vậy trong luận văn này,
ta s các g m tra c a h
ẽ ứ
đi vào nghiên c u về iải pháp kiể ủ ệ th lý
ống mà xử ảnh sẽ là
một công cụ quan trọ ể
ng đ hướ ế
ng đ n các nhiệm vụ phân tích và nhận dạng các
lỗi của hệ thống.
Tính cấp thiế ủ ề
t c a đ tài
Xử lý ảnh là mộ ự
t lĩnh v c khoa họ ấ
c đã xu t hiện từ lâu và được ứng dụng nhiều
trong y c, khoa h và d i ti a k
họ ọ ụ
c vũ tr ự ờ
báo th ết. Ngày nay, s phát tri
ự ển củ ỹ
thuậ ệ
t đi n tử đã cho ra đờ ề ạ
i nhi u lo i camera và cả ế ả
m bi n hình nh có độ phân giải
cao và t t và tùy m
ố ộ ấ
c đ l y ảnh nhanh, với giá cả ợ
phù h p tùy hãng sản xuấ ứ ộ
c đ
thông minh của thi t b , ch
ế ị ấ ợ
t lư ng hình ảnh. Từ đó đã cho phép xử lý ả ợ
nh đư c
ứ ụ ề ệ ấ ự ả ấ ợ
ng d ng nhi u hơn vào công nghi p, nh t là trong lĩnh v c qu n lý ch t lư ng,
nhận d m và phân lo n ph
ạng l n ph
ỗi sả ẩ ại sả ẩm dự ặ
a vào các đ c tính có thể ậ
nh n
dạ ợ
ng đư c bằng mắ ờ
t thư ng và nhữ ặ
ng đ c điểm bề ngoài không thể nhận dạng
bằng mắ ờ
t thư ng. Với nhữ ặ
ng đ c tính không thể nhận dạng bằng mắ ờ
t thư ng do
đặ ể ầ ậ ạ ỏ ặ ạ ứ ạ ặ ầ ậ
c đi m c n nh n d ng quá nh ho c hình d ng quá ph c t p, ho c yêu c u nh n
diện nhiều vị trí ở ộ
cùng m t th m, x nh là m t công c
ờ ể
i đi ử ả
lý ộ ụ ệ
vô cùng hi u quả
vớ ộ
i đ chính xác và độ tin cậy cao.
Thực tế, ở ệ
Vi t Nam hiện nay, xử ả
lý nh trong công nghi p v
ệ ẫn còn là một lĩnh
vực khá mới mẻ và đang trên đà phát triể ệ
n. Do đó, vi c nghiên cứu, khai thác các
ứ ụ ủ ử ả ẽ ở ề ộ ệ
ng d ng c a x lý nh s m ra nhi u cơ h i cho vi c nghiên cứu và phát triển
các h i. Các v
ệ thống mớ ấ ề ự độ ề
n đ t ng hóa trong đi u khiển và giám sát các thiết
bị nói chung là một trong những giả ầ
i pháp hàng đ u trong sự nghiệp công nghiệp
hóa và hiệ ạ
n đ i hóa ở Việt Nam hiện nay. Do đó, luận văn này đưa ra một mô hình
điều khiển hệ ố ậ
th ng nh n dạng và phân lo i trong dây chuy n s
ại chai bị ỗ
l ề ả ấ
n xu t
cocacola bằng phần xử lý ảnh sử d h
ụng công nghệ ọc sâu mạng nơron để đáp ứng
yêu cầ ề
u đi u khiể ự ế
n th c t nêu trên.
Mụ ề
c tiêu đ tài
10
Trong phạm vi của luận văn, tôi sẽ nghiên cứu về các thuật toán xử lý ảnh nói cung
để ộ ố ấ ệ ố ả ả ợ
đưa ra m t phương án t i ưu nh t trong h th ng đ m b o đư c tính chính xác
của hệ thống và cải thiệ ợ
n đư c thời gian nhận diện các lỗi của sản phẩm. Nghiên
cứ ế
u đó k t hợp với các thuật toán trong DeepLearning để phát hi n h
ệ ệ ố
th ng trong
tương lai.
Nội dung của luận văn
N :
ội dung luậ ồ
n văn g m 6 chương
Chương u
1: Mở đầ
Chương x
2: Tổng quan về ử lý ảnh
Chương ng đ
3: Một số kĩ thuậ ậ
t thu t toán phát hiệ ậ ạ
n và nh n d ố ợ
i tư ng
Chương 4: Mô hình YOLO trong bài toán nhận dạng đố ợ
i tư ng
Chương 5: Thuật toán nhận dạng lỗi chai
Chương K
6: ết luận chung và hướ ể ủ ậ
ng phát tri n c a lu n văn
11
T X
ỔNG QUAN VỀ Ử LÝ ẢNH
x
Cơ bản về ử lý ảnh
Các giai đoạn củ ộ ử ả
a m t quá trình x lý nh
Để ể
có th hình dung cấ ộ ệ ố ử ả ụ
u hình m t h th ng x lý nh chuyên d ng hay một hệ
thống xử lý ảnh trong nghiên cứu, các bước cầ ế
n thi t trong xử lý ảnh được xem xét
như sau.
Thu nhận
ảnh
Tách các
đặc tính
Phân đoạn
Xử lý trước Phân loại
Hình 2.1 Các giai đoạn củ ộ ử
a m t quá trình x lý ảnh
Thu nhận nh
ả
Ả ể ậ ờ ả ậ ệ
nh có th thu nh n qua camera. Thư ng nh thu nh n qua camera là tín hi u
tương t u CCIR), nhưng cũng có th
ự ạ ố
(lo i camera ng kiể ể ệ
là tín hi u số ạ
hoá (lo i
CCD - v
Charge Coupled Device). Ả ể
nh cũng có th thu nhận từ ệ tinh qua các bộ
cảm ứng hay ảnh, tranh đượ ợ ữ
c quét trên scanner. Sau đó đư c lưu tr trong máy
tính. Gồm có 2 quá trình:
- Biế ổ ợ
n đ i năng lư ng quang họ ợ
c sang năng lư ng điện
- Biế ổ ợ ệ
n đ i năng lư ng đi n sang các ma trận.
X c
ử lí trướ
Quá trình xử lí trước thực ra bao gồ ề
m nhi u công đoạ ỏ
n nh . Trướ ế ệ
c h t là công vi c
tăng cường ảnh để ấ
nâng cao ch t lượ ả
ng nh. Do những nguyên nhân khác nhau: có
thể ấ
do ch t lượ ế
ng thi t bị thu nhận ả ồ
nh, do ngu n sáng hay do nhiễu, ảnh có thể bị
suy bi n. Do v y c
ế ậ ần ph ng và khôi ph
ả ờ
i tăng cư ục l làm n t m
ại ả ể
nh đ ổi bậ ột số
đặ ủ ả ả ầ ố ấ ớ ạ ố ạ
c tính chính c a nh, hay làm cho nh g n gi ng nh t v i tr ng thái g c (tr ng
thái trư c đích ph cho các bư
ớc khi ả ị ế ạ
nh b bi n d ng). Nhằm các mụ ục vụ ớc tiếp
theo.
Những mụ ệ ể đặ ử ớ
c đích riêng bi t có th t ra cho quá trình x lý trư c là:
+ Th u qu u sáng
ực hi c ph c h
ệ ề
n đi u chỉ ộ
nh đ chiế ể ắ
u sáng đ kh ụ ậ ả ủ
c a sự chiế
không đồ ề
ng đ u.
+ Giảm nhỏ ầ
thành ph n nhiễu.
+ Cả ệ ộ ả
i thi n đ tương ph n củ ả ố
a nh màu do khuôn màu không t t.
+ Hiệ ỉ ộ ị
u ch nh đ méo giá tr xám
+ Loại bỏ tính không đồ ể
ng th của ả ừ
nh gây nên t tính không đồng bộ của lớp nhạy
quang của hệ thống thu nhận nh.
ả
+ Chuẩ ộ ớ ạ
n hóa đ l n, d ng và màu.
+ Điề ỉ ộ
u ch nh b lọc để khuyếch đạ ầ ố
i các t n s với những thông tin quan trọng được
khuyế ạ ầ
ch đ i và nén đi các t n số khác.
12
Phân đoạn
Là quá trình phân chia các o sát ra kh
đố ợ
i tư ng cần khả ỏi phần nội dung còn lại
của ả ố ợ
nh, phân tách các đ i tư ng tiếp giáp nhau và phân tách nhữ ố ợ
ng đ i tư ng
riêng bi t thành nh
ệ ữ ố
ng đ i tượ ộ
ng con. M t phương pháp phân đoạn ảnh là sử dụng
một ngưỡ ị
ng giá tr xám để phân tách ảnh thành đối tượ ề ữ
ng và n n (nh ng điểm dưới
ngưỡ ộ ề
ng xám thu c v nề ợ
n, ngư c lại thuộc về đố ợ
i tư ng).
Tách ra các đặc tính
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ý đ đưa ra các đ c trưng, đ i tư
ặ ố ợng ảnh cũng như các thông tin cần thiết
trong quá trình x c t nh ta có th
ử ờ ặ ợ
lý. Nh các đ c tính có đư ừ ả ể ạ ố
phân lo i các đ i
tượng khác nhau của ảnh.
Phân loại ảnh
Thực hiện công vi p x p m
ệc sắ ế ộ ố ợ ộ ớ ố ợ ớ ể
t đ i tư ng vào m t l p đ i tư ng cho trư c. Đ
giải quyết bài toán này thì các đặc tính có ý nghĩa phả ợ ự ọ ấ
i đư c l a ch n. Ta tìm th y
các đ c tính có ý nghĩa khi ta phân tích các m
ặ ẫu đượ ự ọ ừ
c l a ch n t những đối tượng
khác nhau.
Các kĩ thuật lọc nhiễu trong ảnh
Nguyên tắc chung củ ọ
a l c ảnh
Nguyên t c chung c
ắ ủ ọ
a các phương pháp l c là cho ma t i m
rận ảnh nhân vớ ột ma
trận lọc (Kernel). Trong đó ma trận lọc l c (Kernel) còn có th c g i là c a s
ọ ể ợ
đư ọ ử ố
chập (trong phép nhân ch c nhân n l
ập), c a s c, m …. Vi
ử ổ ọ
l ặt nạ ệ ảnh với ma trậ ọc
giống như việ ợ
c trư t ma trận l nh và nhân v
ọc theo hàng trên ả ới từng vùng của
ả ộ ế ả ạ ạ
nh, c ng các k t qu l i t o thành kế ả ủ ể
t qu c a đi m ảnh trung tâm.
13
Hình 2.2 Quy tắc nhân chập ma trận lọc kernel
Ma trậ ầ ợ
n đ u vào I đư c nhân với ma trận lọc (phần xám ở hình trái) để ạ
t o thành
ma tr u ra O.
ậ ầ
n đ
Trên thực tế, hai phép lọc ả ậ
nh là tương quan (correlation) và tích ch p
(convolution). Với phép tương quan, ma tr c trư
ậ ọ
n l c sẽ ợ
đư ợt đi và nhân vớ ừ
i t ng
vùng của ả ớ
nh như trên. Tuy nhiên v i phép tích chập, ma tr c xoay
ận lọc sẽ ợ
đư
180 độ ả ề
(theo c chi u ngang và dọ ớ ự ệ
c) trư c khi th c hi n nhân. 2 phép toán này là
tương đương khi ma tr c đ
ậ ọ
n l ố ứ
i x ng.
Với mỗi phép lọc ta có những ma trận lọc (Kernel) khác nhau, không có một quy
đị ụ ể ệ ị ớ ậ
nh c th nào cho vi c xác đ nh M. Kích thư c ma tr n M là m t s
ộ ố ẻ
l . Ví dụ:
3x3, 5x5.
Khi nhân các phần tử tương ứ ớ ữ
ng v i nhau (gi a pixel, các điểm lân cận – các
thành phầ ố
n trong kernel), đ i v i các ph có m t s
ớ ần t nh thì s
ử ở ạ
c ẽ ộ ố ị
pixel b
khuyết, lúc này, có nhiều cách giải quyết như bỏ ộ
qua, chèn thêm m t (một số)
hàng, c t mang giá tr c b t, ho c t
ộ ị ặ
o
0 h ằng giá trị ầ
g n nhấ ặ ạo mộ ố
t đ i xứng gương
ở ạ ả
c nh nh.
M b l
ột số ộ ọc làm mịn ảnh:
a, Lọc trung bình (Normanlize Box Filter):
Đây là b t. Nó đư a trên ý tư
ộ ọ ả ấ
l c đơn gi n nh ợ ự ự
c xây d ng d ởng tính giá trị ộ
m t
điể ả ằ
m nh b ng trung bình c nh xung quanh nó.
ộ ể ả
ng các đi m
Ma tr c c a l
ận lọ ủ ọc trung bình có dạng:
1 1 1 ... 1
1 1 1 ... 1
1
. . . ... 1
_width.K_height
1 1 1 ... 1
K
K
 
 
 
=
 
 
  (2.1)
Cách lọ ờ ợ
c này thư ng đư c áp dụ ả
ng cho làm trơn nh vẫn muốn giữ ạ
l i biên
không bị ờ
m .
14
Hình 2.3 Kết quả sau khi lọc trung bình [8]
Ưu điểm:
+Đơn giản trong tính toán
+ n
Ả ạ ộ
nh đ t đ trơn mị
Khuyế ể
t đi m:
+Không hoàn toàn loại bỏ ợ
đư c nhi u s
ễ ẻ
u, các pixel đơn l (nhiễ ẽ ả ớ ế
nh hư ng đ n
giá trị trung bình củ ậ
a các pixel lân c n.
+Độ ắ ủ
s c nét c a ảnh kém
+Đ tương ph
ộ ản thấp
b, L c Gauss (Gaussian Filter):
ọ
B l l
ộ ọ ợ
c Gauss đư c cho là bộ ọc hữu ích nhấ ợ
t, đư c thực hiện bằng cách nhân
chập ả ầ
nh đ u vào với một ma trận lọ ộ
c Gauss sau đó c ng chúng lại để ạ
t o thành
ả ầ
nh đ u ra.
Ý tư i đi
ởng chung là giá trị ỗ
m ểm ảnh sẽ ụ ộ
ph thu c nhiề ể
u vào các đi m ảnh ở
gần hơn là các điể ả
m nh ở xa. Trọng số của sự phụ thuộc đượ ấ
c l y theo hàm Gauss
(cũng đượ ử ụ ậ
c s d ng trong quy lu t phân phối chuẩn).
15
Hình 2.4 Sơ đồ phân phối Gauss [8]
Gi m
ả ử ả
s nh là m t chi
ộ ề ể
u. Đi ảnh ở ẽ ọ
trung tâm s có tr ng số ớ
l n nhấ ể
t. Các đi m
ả ở ẽ ọ ố ả ầ ả ừ ớ
nh càng xa trung tâm s có tr ng s gi m d n khi kho ng cách t chúng t i
điểm trung tâm tăng lên. Như vậy điể ầ
m càng g n trung tâm sẽ càng đóng góp nhiều
hơn vào giá trị ể
đi m trung tâm.
Trên th c t , vi c l a trên hàm Gauss 2 chi
ự ế ệ ọc ảnh dự ều (ngang và dọc). Phân phối
chuẩn 2 chiều có thể ể
bi u diễ ớ ạ
n dư i d ng:
( ) ( )2
2
2
2 2
2
_y
_
_
_ 0( , ) y
x
x
y
x
G x y Ae
µ
µ
σ
σ
− −
− −
+
= (2.2)
Trong đó μ là trung bình (đ nh), σ2 phương sai c
ỉ là ủ ế ố
a các bi n s x và y
Tham s n c n l
ố μ ế ị
quy t đ nh tác dụng của b c Gauss lên
ộ ọ
l ả ộ ớ
nh. Đ l ủa ma trậ ọc
(kernel) c c l
ầ ợ
n đư ựa chọ ủ ộ
n cho đ r ng.
16
Hình 2.5 Kết quả sau khi lọc Gauss [8]
c, L c trung v (Median Filter):
ọ ị
Phép lọc trung vị ợ
cũng đư c thực hiện với các ma trận lọc. Tuy nhiên nó tính
trung v các giá tr c và s
ị ấ
t t cả ị ể
đi m ảnh trong vùng ma trận lọ ử ụ
d ng trung vị này
cho giá trị ể
đi m trung tâm. Mộ ề
t đi u khá thú vị ớ
là v i các cách l trên, giá tr
ọc ở ị
điể ợ ớ ể ằ ặ ớ ị ộ ể
m trung tâm đư c tính m i (có th b ng ho c khác v i giá tr m t đi m trong
vùng ma trận lọc), còn với phép lọc trung vị, giá trị đi m trung tâm luôn đư
ể ợc thay
b m
ằng ộ ị
t giá tr điểm ảnh trong bứ ả
c nh đ y, phương pháp l
ầu vào. Do vậ ọc này có
khả ạ ỏ ễ
năng lo i b nhi u muối tiêu (salt-and-pepper noise) khá tốt.
Có mộ ể ầ ợ
t đi m cũng c n đư c chú ý là phép lọc trung bình và lọc Gauss là phép
lọc tuyến tính, nhưng phép lọ ị ả ộ
c trung v không ph i là m t phép lọ ế
c tuy n tính.
17
Hình 2.6 Kết quả sau khi lọc trung vị [8]
Các kĩ thuậ ạ
t dò c nh
Khái quát về ạ
dò c nh
Các cạnh là những vùng ảnh mà có độ ả
tương ph n cao. Vì thế ạ
các c nh thường
xuyên xu n t
ất hiệ ạ ữ ị ợ ấ
i nh ng v trí đư c th y như là nh ng đư
ữ ờng bao quanh vật trên
hình ảnh, xác đị ạ ờ
nh c nh thư ng đượ ổ
c dùng ph biế ữ
n trên nh ng hình ảnh có nhiều
vật thể khác nhau khi ta mu n chia hình ng vùng khác nhau có ch
ố ảnh thành nhữ ứa
vật thể. Biểu diễn một hình ảnh bằng các cạnh thì có nhi n l
ều thuậ ợi hơn là làm
gi u
ả ợ
m đư c dữ liệ ảnh trong khi vẫ ả
n đ m bảo gi c nh ng thông tin v
ữ ợ
đư ữ ề ậ
v t thể
trên ảnh.
Các cạnh ch u có t n s
ủ ế
y ầ ố ế ạ ử ụ ọ ầ ố
cao nên theo lý thuy t, dò c nh s d ng l c t n s cao
bằ ằ
ng phương pháp Fourier hay b ng cách nhân chập hình nh v
ả ới những Kernel
thích hợp trong miền không gian Fourier. Trên th c t c th
ự ế, dò cạ ợ
nh đư ực hiện
trong mi c hi
ền không gian vì thự ện dễ dàng hơn và thường cho ra kết quả ố
t t hơn.
Cách xác đị ạ
nh c nh: vì các cạ ứ ớ
nh tương ng v i sự chiếu sáng mạnh, t ó
ừ đ có thể
làm n t lên b a hình
ổi bậ ằ ạ
ng cách tính toán đ o hàm củ ảnh.
Có thể thấy rằng vị trí của cạnh có thể ợ ớ ợ
đư c ư c lư ng với giá trị ớ
l n nhất củ ạ
a đ o
hàm bậc nh t hay v
ấ ớ ể
i đi m uốn củ ạ
a đ o hàm bậc 2. Vì th tìm m
ế ẽ
s ộ ậ ể
t kĩ thu t đ
tính toán đạ ủ
o hàm c a một hình ảnh 2 chiều.
Những Kernel dùng cho việc xác đị ạ ợ
nh c nh đư c tính dựa theo công thức trên cho
phép tính u. Có 2 ti
toán đạo hàm b t hình nh 2 chi
ậc m t và b a m
ộ ậc hai củ ộ ả ề ến
trình chung tính đạ ậ
o hàm b c một trong mộ ả
t hình nh hai chiều, dò cạnh Pretwitt
compass và dò cạnh gradient.
Các phương pháp dò cạnh
a, Phương pháp Robert Cross:
18
Theo Roberts, để ị ạ
xác đ nh c nh ta cầ ự ấ ạ ợ ạ
n d a vào các tính ch t sau: c nh đư c t o ra
cầ ợ
n đư c xác định rõ, nề ủ
n c a ảnh có ít nhiễ ờ ộ
u và cư ng đ của cạnh được xác định
bằng mắ ờ
t thư ng. Với nhữ ặ
ng đ c tính đó, Roberts đưa ra phương trình sau:

 
, = 
 
,

 
, = 
 
,  
 
, 

+ 
 
,  
 
, 

(2.3)
. Vớ ờ ộ
i x là cư ng đ sáng ban đầu của ả ạ ợ
nh, z là đ o hàm tính đư c và i, j là tọ ộ
a đ
củ ể
a đi m ảnh.
Kết quả tính được sẽ thay đổ ờ ộ
i cư ng đ sáng theo đường chéo. Phương pháp này
đơn giản, nhân kernel nh a giá tr
ỏ và chỉ chứ ị nguyên, tuy nhiên, phương pháp này
nhạy cảm với nhiễu
Để ạ ử ụ ậ ả ố ớ
dò c nh s d ng phương pháp Robert Cross, ta nhân ma tr n nh g c v i 2
nhân kernel:
1 0
0 1
 
 
−
 
và
0 1
1 0
 
 
−
 
Đặt 
( 
, ) là điểm ảnh gốc và ( 
, ) là điểm ả ợ ợ
nh đư c thu đư c khi nhân ma
trận ảnh với nhân kernel 1, ( 
, ) là điểm ả ợ
nh thu đư c khi nhân ma trận ảnh
với nhân kernel 2.
Gradient có thể ợ ị
đư c xác đ nh bằng công thức:

( 
, ) = ( 
, ) = 
 + 
 (2.4)
Hướ ủ ợ ị ứ
ng c a gradient đư c xác đ nh theo công th c:

( 
, ) =  
( 
, )
( 
, )
 


(2.5)
Hình 2.7 Lọc biên theo phương pháp Robert Cross [8]
b, Phương pháp Sobel:
Sobel đưa ra ý tưở ả ớ
ng nhân nh v i ma trậ ẳ ớ
n đ ng hư ng 3x3 dùng để tính xấp xỉ ự
s
thay đổi giá trị ủ ờ ộ
c a hàm tính cư ng đ sáng. ở ừ
t ng điể ả ế ả ủ
m nh, k t qu c a phương
pháp Sobel gồm có hướ ộ ớ ủ ự ệ
ng và đ l n c a vector. Phương pháp này d a vào vi c
nhân ma trận ảnh vớ ừ
i t ng ma trận chỉ ớ
hư ng dó đó không yêu cầu hiệu năng tính
19
toán cào. M t khác, tính toán x
ặ ấp xỉ hướng đưa ra kế ả
t qu thô, đặc biệt là với những
ả ự ổ ờ ộ
nh có s thay đ i cư ng đ ánh sáng mạnh.
Phương pháp này sử ụ
d ng ma trận 3x3 nhân với ma trận ảnh gố ể
c đ tính
toán xấp xỉ ự
s thay đổi theo phương ngang ho c phương d
ặ ọ ả
c. Ta coi A là nh gốc,
Gx và Gy là nh sau khi nhân t
ả ừ ể
ng đi m ảnh v p x
ới các phép tính xấ ỉ ề
theo chi u
ngang và dọ ứ
c tương ng.
Gx =
1 0 1
2 0 2
1 0 1
−
 
 
−
 
 
−
 
*A và Gy =
1 2 1
0 0 0
1 2 1
 
 
 
 
 
*A
Nhân kernel của Sobel có thể đượ ủ
c tách thành tích c a phép nhân trung bình
và nhân xấp xỉ.  có thể được viết lại như sau:
1 0 1
2 0 2
1 0 1
−
 
 
−
 
 
−
  -
= [1 2 1] [1 0 1]
Tại mỗ ể
i đi m ảnh, kết quả tính gradient xấ ể
p xĩ có th được kết hợ ể
p đ tính giá trị
gradient sử ụ
d ng công thức:
=
 

 + 
 (2.6)
Từ đó, ta tính đượ ớ
c hư ng của gradient:
=
 




 (2.7)
Với công thức này, khi  = 0 thì phía bên ph i c a c c s
ả ủ ạnh dọ ẽ sáng hơn phía bên
trái.
Hình 2.8 Lọc biên theo phương pháp [8]
c, Phương pháp Canny:
Phương pháp dò cạnh Canny là kĩ thuậ ữ ệ
t tách d li u cấu trúc từ ảnh và giả ợ
m lư ng
dữ liệu cần xử lí. Nó được sử dụng rộng rãi trong nhiều hệ thống thị giác máy tính.
Với những hệ thống khác thị giác máy tính khác nhau, việc áp dụng phương pháp
này không có nhi u khác bi
ề ệ ạ ể
t. Do đó, phương pháp dò c nh này có th giải quyết
đượ ề
c nhi u lĩnh vực khác nhau. Phương pháp dò cạnh này có một vài đặc tính sau:
Xác đ c là xác đ
ịnh cạ ớ ố
nh v i sai s thấ ứ
p, t ịnh hế ấ ả ạ ả
t t t c các c nh có trong nh
20
Điểm ả ộ ạ
nh thu c c nh dò đượ ẽ
c s nằm ở trung tâm của cạnh.
Cạnh của ảnh sẽ ch c
ỉ ợ
đư đánh dấu mộ ầ ễ
t l n và nhi u trong nh s
ả ẽ không được xác
đị ạ
nh là c nh.
Thuật toán dò cạnh Canny đượ ớ
c chia thành 5 bư c sau:
Dùng lọ ị
c Gaussian làm m n ả ể
nh đ loại bỏ ễ
nhi u
Kết quả dò cạnh rất nhạy với nhiễ ệ
u, do đó vi c lọc nhiễu của ảnh là cần thiế ể
t đ
tránh s m. L
ự ị
xác đ nh nhầ ọ ợ
c Gaussian đư c dùng để ị
làm m n ả ằ ả
nh nh m làm gi m
ả ớ ủ ễ ệ ạ
nh hư ng c a nhi u lên vi c dò c nh.
Dướ ờ
i đây là phép nhân làm m :
B=
2 4 5 4 2
4 9 12 9 4
1
5 12 15 12 5
159
4 9 12 9 4
2 4 5 4 2
 
 
 
 
 
 
 
 
*A (2.8)
Tìm hướ ờ ộ
ng cư ng đ sáng củ ả
a nh
Cạnh trong ả ể
nh có th chỉ ấ
b t kì hướng nào, dó đó thuậ ử ụ
t toán Canny s d ng 4 ma
trận lọc để xác định hướng ngang, dọc và chéo của ảnh sau khi làm mờ. Từ gradient
của cạ ợ
nh tìm đư c ta có thể xác đị ớ
nh hư ng và l
độ ớn:
=



+ 

= 2
  
,  (2.9)
V d
ới G có thể tính bằng cách sử ụng hàm hypot và atan2 là hàm artangent. Góc
chỉ ớ
hư ng của c c làm tròn thành 4 giá tr
ạ ượ
nh đ ị: 0o, 45o, 90o hoặc 135o.
Áp dụng giá trị ớ
l n nh t không c nh c
ấ ố đị ể ị
nh đ xác đ ạ ớ ể
nh. Bư c này dùng đ làm
nhỏ ạ
c nh. Sau khi tính toán hư nh dò đư
ớ ạ
ng, c ợ ẫ
c v n còn mờ ầ ị
, do đó, c n xác đ nh
giá tr t t ra v trí này có s i l
ị ớ
l n nhấ ại từng vị để
trí khác nhau chỉ ị ự ổ
thay đ ớn nhất
về giá trị cườ ộ
ng đ . Thuật toán cho từ ể ả
ng đi m nh là:
So sánh độ rõ c a c
ủ ạnh ở ể
đi m ả ệ ạ ớ
nh hi n t i v i điể ả
m nh ở hư ng dương và hư
ớ ớng
âm. N rõ c a c i là l i các
ế ộ
u đ ủ ạnh ở điểm ảnh hiện tạ ớn nhất khi so sánh vớ điểm
ảnh khác trong mặt nạ ớ
cùng hư ng, thì giá trị ợ
này đư c giữ nguyên, n u không thì
ế
giá trị ẽ ị ổ
s b thay đ i.
Áp dụ ỡ ớ ể ị
ng ngư ng trên và dư i đ xác đ nh cạnh.
Sau các bước kể trên, điểm ảnh biể ễ ạ ể
u di n c nh th hiện rõ hơn trên ảnh. Tuy nhiên,
một vài điểm ảnh bị gây ra bởi nhiễu và sự thay đ n còn. Đ
ổ ắ ẫ
i màu s c v ể giải quyết
v l
ấ ề
n đ này, ta cần lọc ra nhữ ể
ng đi m ảnh có giá trị gradient nhỏ và giữ ại những
điể ả
m nh có giá tr n b
ị ớ
l n. Vi c th
ệ ợ
c này đư ực hiệ ằng cách áp d ng trên
ụ ỡ
ng ngư
và dư n cao hơn, nó đư
ớ ế ị ủ ể ả
i. N u giá tr c
gradient a đi m nh lớ ỡ
n hơn ngư ợc đánh
dấ ể
u là đi m ảnh mạnh. Nếu giá trị đó nằm giữ ỡ ỡ ớ
a ngư ng trên và ngư ng dư i, nó
21
được đánh giá là điể ả ế ể
m nh y u. Đi m ảnh có giá trị nhỏ ỡ
hơn ngư ng dướ ị
i thì b bỏ
quá. Hai giá trị ỡ
ngư ng này phụ ộ ờ đặ
thu c vào ngư i t.
Xác đị ạ ở
nh c nh b i hysteresis: loại bỏ ạ ợ
các c nh không rõ và không đư c nối với
cạnh rõ.
Cuối cùng, điểm ả ủ ạ
nh c a c nh có cường độ ớ
l n sẽ nằm trên cạnh và khi đó cạ ẽ
nh s
đư nh. Tuy nhiên, đi
ợ ấ ừ ả
c trích xu t t ể ả
m nh thuộ ạ ặ ể ả
c c nh ho c đi m nh thuộc cạnh
do nhiễu sinh ra vẫ ể ợ
n còn. Đ thu đư c kết quả chính xác, nhữ ể
ng đi m ảnh có xác
suấ ấ
t th p cần đượ ạ
c lo i bỏ.
Hình 2.9 Lọc biên theo phương pháp Canny [8]
Kĩ thuật hình thái học (Morphological technique)
Sau khi sử ụ ệ
d ng phương pháp phát hi n c p t
ạnh, từ đó sẽ tiế ục sử ụ
d ng phương
pháp Đóng Hình Thái (Morphological Closing). Mụ ủ
c đích c a phương pháp này
là đ đó giúp làm rõ, n t các đư
ể loại bỏ ễ ừ ả ầ ừ
nhi u t hình nh đ u vào và t ổi bậ ờng
đáng quan tâm hơn.
Trích l c biên (Boundary extraction).
ọ ảnh
Tô đầy vùng (Region fill).
Trích l c các thành ph n liên thông (Extracting connected components).
ọ ầ
Làm mỏ ố ợ
ng đ i tư ng trong ảnh (Thinning).
Làm dày đ i tư
ố ợ ả
ng trong nh (Thickening).
Tìm xương đố ợ
i tư ng trong ảnh (Skeletons).
Cắt tỉ ố ợ
a đ i tư ng trong ảnh (Pruning).
Hình thái h c là m t thu t x c, g
ọ ộ ật ngữ xuấ ứ ừ ọ
t sinh h ắn liền v i hình dáng và c
ớ ấu
trúc của sinh vật. Trong xử lý ả ộ ỹ
nh, nó là m t k thuật xử lý ả ự
nh d a theo hình dáng
và c a m u ra
ấu trúc của ả ị ủ
nh. Trong phương pháp này, giá tr c ỗi pixel của ả ầ
nh đ
đư so sánh pixel tương nh đ
ợ ị
c xác đ nh nhờ ứ ủ ả
ng c a ầu vào với pixel lân cận của
chúng. Bằng cách l a ch
ự ọn kích thướ ạ
c và hình d ng của pixel láng giềng, ta có thể
xây d t nh
ự ợ
ng đư c phép toán hình thái rấ ạy cảm với các hình d c bi t trong
ạ ặ
ng đ ệ
ả ầ
nh đ u vào. OpenCv cung cấ ờ
p cho ngư i dùng mộ ứ
t phương th c nhanh chóng
thu th lý
ận tiệ ể
n đ ực hiện xử ảnh hình thái. Phép biến đổi ảnh hình thái cơ bản là
dilation(giãn co
nở ) và erosion( ), chúng được ứ ụ ạ ộ
ng d ng trên ph m vi r ng như lọc
22
nhiễu, tách bạ ố
ch các đ i tư i tư
ợ ố ố
ng, n i các đ ợng riêng rẽ trên ảnh, và còn thường
đư ng đ
ợ ể ữ ờ
c dùng đ tìm nh ng nơi có cư ộ độ ớ
sáng l n hay nhỏ ố ỗ
( các h , l ) trên
ả ể ề ớ ủ ứ ả
nh đ tìm chi u hư ng c a b c nh.
Phép giãn nở và co là hai phép toán hình thái tổng quát và đây là hai quá
trình ngư , các đư t đ i tư
ợ ả ở
c nhau. Trong phép gi n n ờ ủ
ng biên c a mộ ố ợng trong
ả ợ ộ ở ờ
nh đư c c ng thêm các pixel trong khi đó phép co các đư ng biên của mộ ố
t đ i
tư t đi. S ng các pixel đư
ợ ả ạ
ng nào đó trong nh l i bị ỏ ớ
b b ố ợ
lư ợc cộng thêm hay
bớ ỏ ố ợ
t đi kh i đ i tư ng ở trong ảnh phụ thuộ ớ
c vào kích thư c và hình dáng của cấu
trúc phần tử đư c dùng đ
ợ ể xử lý. Sự giãn nở có xu hướ ở
ng m rộng các đường biên,
đư i có xu hư
ờng viề ự ạ
n, các vùng, trong khi s co l ớ ả ặ ậ ạ ỏ
ng gi m ho c th m chí lo i b
các vùng nhỏ. Quá trình ăn mòn và giãn nở có th t h i v
ể ế
k ợp lạ ới nhau hoặc có thể
thực hiện một cách song hành để tạo nên những phương pháp xử lý hình thái phức
t s
ạ ả
p hơn. Vì c ự co lẫn giãn nở đều là phép toán phi tuyến, nên chúng không có
nghị ả
ch đ o, vì v y có th n phép này sau phép kia trên cùng m
ậ ể ự
th c hiệ ột vùng của
một ảnh.
Nếu thực hiệ ớ
n quá trình co trư c rồi tiế ế
p đ n quá trình giãn nở thì ta có phép mở
(Opening). Trườ ợ ế ả
ng h p n u nh là nhị phân thì phép toán mở ớ
có khuynh hư ng
làm m i kích
ấ ố ợ ớ
t các đ i tư ng có kích thư c nhỏ ở trong ả ổ
nh mà không làm thay đ
thư ng các đ i tư
ớ ạ
c và hình d ố ợng lớn.
Nếu phép giãn nở ự
th c hiệ ớ
n trư c, ti là
ế ế ợ
p đ n phép co thì quá trình đư c gọi
đóng(Closing).Trong bài toán này sẽ ử ụ ẽ
s d ng phép toán đóng.Phép đóng s liên
kế ố ợ
t các đ i tư ng xít lại với nhau và do vậ ớ
y nó có khuynh hư ng lấ ầ
p đ y các lỗ
hổng nhỏ và làm nhẵ ờ
n các đư ng nét của một đố ợ
i tư ng bằng cách lấ ầ
p đ y những
khe nhỏ.
+ Với phép toán Giãn nở (dilation):
Giãn n là quá trình ch
ở ập của những bức ả ả ẽ
nh (hay vùng nh), ta s gọi chúng là A,
v g
ới một số nhân, ta ọi chúng là B. Nhân có thể ề
có nhi u hình dạng và kích thước
khác nhau, nhưng chỉ ộ ể
có m t đi m gọ ể
i là đi m neo duy nhấ ờ
t. Thông thư ng, nhân
là m tâm. Nhân có th
ột khố ỏ ớ ể
i hình vuông hay hình đĩa nh v i đi m neo nằm ở ể
đư n đ và nó có ý nghĩa trong thu
ợ ậ
c nh ị ẫ
nh như là m u hay mặ ạ
t n ậ ở
t toán giãn n
là để đị ị ầ ử
nh v ph n t có giá t c quét trên toàn
r l
ị ớn nhấ ợ
t. Khi nhân B đư ảnh, từ đó
sẽ tính toán được giá trị pixel l t c
ớn nhấ ủa vùng ảnh đượ ớ ở
c kh p b i nhân B và thay
thế pixel xác định bởi điểm neo bằng giá trí lớn nhất đã tính toán. Điều này khiến
cho miền sáng củ ứ ả ợ ở ộ ồ
a b c nh đư c m r ng như đ hình sau. Chính việc mở ộ
r ng
này là g a thu
ốc củ ật ngữ “quá trình giãn nở”.
Phép giãn nở ợ
đư c mô tả ằ
b ng biể ứ ọ
u th c toán h c sau:
(2.10)
Trong đó:
23
A: Ma trậ ể
n đi m ảnh của ảnh nhị phân.
B: Là ph u trúc.
ần t c
ử ấ
Hình 2.10 Quá trình chập trong phép toán Giãn nở
Phép giãn nở (Dilation) ảnh sẽ cho ra m t t
ộ ập điểm ả ộ ạ
nh c thu c D(i), b n hoàn toàn
dễ dàng thấy rằ ộ ổ ữ
ng đây là m t phép t ng gi a A và B.
A sẽ ậ
là t p con của D(i). Chú ý: Nh n xét này
ậ không toàn toàn đúng vớ ờ
i trư ng
h c
ợp phần tử ấu trúc B không có gốc (Origin) hay nói cách khác là g c (Origin)
ố
mang giá trị 0.
Ví dụ
Tôi có ma trậ ể
n đi m ảnh Isrc, ma trậ ể
n đi m ảnh sau phép giãn nở ầ ử
Idst và ph n t
cấu trúc B.
Ứ ớ ứ ở ầ ợ ặ ầ ử ấ ể
ng v i công th c trên, ta l n lư t đ t ph n t c u trúc vào các đi m ảnh có giá
trị ủ
1 c a ma tr nh Isrc. K t qu c là ma tr
ậ ể
n đi m ả ế ả ợ
thu đư ậ ể
n đi m ảnh Idst.
+ Với phép toán co (erosion):
Phép toán co là quá trình ngược lại với giãn nở. Hành vi của toán tử co thì
tương đương v ng đ
ớ ệ ị ị ị
i vi c đ nh v giá tr nhỏ ấ ủ ờ
nh t c a cư ộ sáng trên vùng tương
ứ ớ ậ
ng v i nhân ch p vào. Phép toán co tạo ra một ả ớ ừ
nh m i t ả ố
nh g c theo thuât toán
sau: khi nhân B quét trên toàn tính toán pixel có giá tr
ảnh, ta ị ỏ ấ
nh nh t khớp với
B và thay th giá tr
ế ị pixel ả ợ ị
nh đư c xác đ nh bở ể
i đi m neo với giá trị ỏ ấ ể
nh nh t (đ
24
chính xác, pixel trên u ra s
ả ầ
nh đ ẽ đặ ị ằ ị
t giá tr b ng giá tr nhỏ ấ
nh t của những pixel
khở ở ả ầ
i b i nhân trên nh đ u vào).
Công thức
Trong đó:
A: Ma trậ ể
n đi m ảnh của ảnh nhị phân.
B: Là u trúc.
c
phần tử ấ
Hình 2.11 Quá trình chập trong phép toán co
Phép co nh s
ả ẽ cho ra m t t
ộ ậ ể
p đi m ảnh c thuộ ế ạ
c A, n u b n đi chuyển phần tử ấ
c u
trúc B theo c, thì B nằ ố ợ
m trong đ i tư ng A.
E(i) là một tập con của tập ả ị
nh b co A. Chú ý: Nh n xét này
ậ không toàn toàn
đúng vớ ờ ợ
i trư ng h p phầ ử ấ
n t c u trúc B không có gốc (Origin) hay nói cách khác
là g c (Origin) mang giá tr
ố ị 0.
Ví dụ
Tôi có ma nh sau phép co
trậ ể
n đi m m
ảnh Isrc, ma trậ ể
n đi ả c
Idst và ấu trúc ph n
ầ
tử B.
Ứ ớ ứ ở ầ ợ ặ ầ ử ấ ể ả
ng v i công th c trên, ta l n lư t đ t ph n t c u trúc vào các đi m nh có giá
trị ủ
1 c a ma tr nh Isrc. K t qu c là ma tr
ậ ể
n đi m ả ế ả ợ
thu đư ậ ể
n đi m ảnh Idst.
25
MỘT SỐ KĨ THUẬT THUẬT TOÁN PHÁT HIỆ Ậ Ạ Ố
N VÀ NH N D NG Đ I
TƯỢNG
Tổng quát chung khái niệ ậ ạ ố ợ
m nh n d ng đ i tư ng
Nhận d ng là m
ạ ố ợ
ng đ i tư ột thuật ngữ chung để ả ộ
mô t m t tập hợp các nhiệm vụ
thị giác máy tính có liên quan liên quan đến việc xác đ nh các đ i tư
ị ố ợng trong ảnh
k .
ỹ thuật số
Phân lo p c
ại hình c d
ả ế
nh liên quan đ n việ ự ớ
đoán l ủa mộ ố ợ
t đ i tư ng trong một
hình ả ị
nh. Đ nh vị ậ
v t thể đề ậ đế
c p n vi nh v c nhi
ệ ị
c xác đ ị ủ
trí c a một hoặ ều đối
tượng trong mộ ả ẽ
t hình nh và v bounding box xung quanh chúng. Phát hiệ ố
n đ i
tư u đ i tư
ợng kết hợ ệ ụ ự ệ ộ
p hai nhi m v trên và th c hi n cho m t hoặ ề
c nhi ố ợng trong
hình nh.
ả Từ đó có thể phân bi a ba nhi
ệt giữ ệm vụ ị ả
th giác máy tính cơ b n trên
thông qua input và output của chúng như sau:
Phân loạ ả
i hình nh: Dự đoán nhãn củ ộ ố ợ
a m t đ i tư ng trong m t hình
ộ ảnh.
Input: M i m
ột hình ảnh vớ ộ ố ợ
t đ i tư ng, chẳng hạn như mộ ứ ả
t b c nh.
Output: Nhãn l p (ví d c nhi u s i nhãn l
ớ ụ ộ
: m t hoặ ề ố ợ
nguyên đư c ánh xạ ớ
t ớp).
Đị ị đố ợ ị ị ệ ệ ủ ố ợ ả
nh v i tư ng: Xác đ nh v trí hi n di n c a các đ i tư ng trong nh và cho
biế ị ủ
t v trí c a chúng bằng bounding box.
Input: M ng, ch t b
ột hình ảnh có một hoặc nhiề ố ợ
u đ i tư ẳng hạ ộ
n như m ức ảnh.
Output: Mộ ặ ề ợ ị ở ọ ộ ề ộ
t ho c nhi u bounding box đư c xác đ nh b i t a đ tâm, chi u r ng
và chiều cao.
Phát hi n di n c
ệ ố ợ ị
n đ i tư ng: Xác đ nh vị ệ
trí hi ệ ủ ố ợ
a các đ i tư ng trong bounding
box và nhãn c t hình
ủ ố ợ
a các đ i tư ng nằ ộ
m trong m ảnh.
Input: M ng, ch t b
ột hình ảnh có một hoặc nhiề ố ợ
u đ i tư ẳng hạ ộ
n như m ức ảnh.
Output: Mộ ặ ề
t ho c nhi u bounding box và nhãn cho m i bounding box.
ỗ
Một số đị ấ
nh nghĩa khác cũng r t quan trọ ạ
ng trong computer vision là phân đo n
đối tư ng (object segmentation), trong đó các đ i tư
ợ ố ợng đượ ậ
c nh n dạ ằ
ng b ng cách
làm n i b các pixel c
ổ ật ụ thể ủ
c a đố ợ
i tư ng thay vì bounding box. Và image
captioning kết hợp giữa các ki n trúc m
ế ạng CNN và LSTM để ả
đưa ra các lý gi i
về hành động hoặ ộ
c n i dung của một bức ảnh.
Bên dư i là sơ đ
ớ ồ ổ
t ng hợ ụ ủ
p các tác v c a computer vision:
26
Hình 3.12 Sơ đồ ổ
t ng hợ ụ
p các tác v Vision [9]
Các thuậ ể ệ
t toán chính đ phát hi n và nhận dạng đố ợ
i tư ng
Có rất nhi n t
ều các thu c s ng và liên t c phát tri
ậ ợ
t toán đư ử ụ
d ụ ể ối ưu. Đồng thời
các thuật toán đề ẽ
u s có các ưu nhược điể ẽ
m riêng và s đượ ụ ừ
c áp d ng vào t ng yêu
cầu của các bài toán khác nhau. Dưới đây là sơ đồ về các thuật toán được phát triển
trong th a trên các lý thuy t v
ời gian gầ ự
n đây d ế ề Deep Learning:
Hình 3.13 Quá trình phát triện của thuật toán phát hiện và nhận dạ ố ợ
ng đ i tư ng
[9]
Dựa vào sơ đồ ể ớ ọ
trên ta có th chia làm l p các mô hình h -
chính là R CNN và
YOLO
Lớp các mô hình họ R-CNN
R-CNN (regions with CNN features) là lớ ị ặ
p các mô hình xác đ nh vùng đ c trưng
d i
ựa trên các mạ ợ
ng CNN đư c phát triển bở Ross Girshick và các cộng sự. Lớp
các mô hình này g m 3 mô hình chính là R
ồ - - -
CNN, Fast R CNN và Faster RCNN
đượ ế ế ệ ụ đị
c thi t k cho các nhi m v nh vị ậ ể ậ
v t th và nh n diện vậ ể
t th .
27
a, R-CNN (2014):
R-CNN được giới thiệu lầ ầ
n đ u vào 2014 bởi Ross Girshick và các cộng sự ở UC
Berkeley m t trong nh ng trung tâm nghiên c u th i trong bài
ộ ữ ứ ầ
u AI hàng đ ế ớ
gi
báo Rich feature hierarchies for accurate object detection and semantic
segmentation.
Nó đượ ộ
c coi là m t trong những ứng dụng nề ầ ủ ạ
n móng đ u tiên c a m ng nơ ron
tích ch i v ng. Cách ti
ậ ố
p đ ới v , phát hi
ấ ề đị
n đ nh vị ệ ạ ố ợ
n và phân đo n đ i tư ếp cận
đã đượ ứ ộ
c ch ng minh trên các b dữ liệu điể ẩ ạ ợ ế ả ố ấ
m chu n, đ t đư c k t qu t t nh t trên
b d - d -
ộ ữ liệu VOC 2012 và bộ ữ liệu phát hiệ ố ợ
n đ i tư ng ILSVRC 2013 gồm 200
lớp.
Kiế ủ
n trúc c a R-CNN gồm 3 thành phần đó là:
Vùng đề xuấ ả ụ
t hình nh (Region proposal): Có tác d ng tạ ấ
o và trích xu t các vùng
đề ấ ứ ậ ể ợ ở
xu t ch a v t th đư c bao b i các bounding box.
Trích lọ ặ ấ ặ ậ
c đ c trưng (Feature Extractor): Trích xu t các đ c trưng giúp nh n diện
hình ảnh từ ạ
các region proposal thông qua các m ng deep convolutional neural
network.
Phân loại (classifier): D a vào input là các features
ự ở ầ
ph n trướ ể ạ
c đ phân lo i hình
ả ứ ề
nh ch a trong region proposal v đúng nhãn.
Kiế ủ ợ ả ể ồ
n trúc c a mô hình đư c mô t trong bi u đ bên dưới:
Hình 3.14 Kiến trúc mô hình R- [9]
CNN
M d
ột kỹ thuậ ợ
t đư c sử ụ ể
ng đ đề xuất các region proposal hoặc các bounding box
chứa các đ i tư
ố ợng tiềm năng trong hình nh đư
ả ợ ọ
c g i là “selective search”, các
region proposal có th c phát hi
ể ợ
đư ện bởi đa dạ ữ ậ
ng nh ng thu t toán khác nhau.
Nhưng điểm chung là đề ự
u d a trên tỷ ệ ữ
l IoU gi a bounding box và ground truth
box.
Trích xuấ ặ
t đ c trưng về ả
b n chất là một mạ ọ
ng CNN h c sâu (deep learning), ở đây
là AlexNet, mạng đã giành chiế ắ ộ ạ ả
n th ng trong cu c thi phân lo i hình nh ILSVRC-
2012. Đầu ra của CNN là một vectơ 4096 chiề ả
u mô t nội dung của hình ảnh được
đưa đến một mô hình SVM tuyến tính để ạ
phân lo i.
Đây là một ứ ụ
ng d ng tương đ i đơn gi
ố ản và dễ hiểu của CNN đố ớ ấ
i v i v n đề object
localization và object detection. Mộ ợ ể
t như c đi m của phương pháp này là chậm,
28
đòi h u module đ
ỏ ả ợ ề
i ph i vư t qua nhi ộ ậ
c l p trong đó có trích xu c trưng t
ấ ặ
t đ ừ ộ
m t
mạng CNN học sâu trên từng region proposal đượ ạ
c t o bở ậ
i thu t toán đề ấ
xu t vùng
ch a
ứ ảnh. Đây là một vấ ề ầ
n đ chính c n giải quyết vì bài vi t mô t
ế ả mô hình hoạt
độ ả ợ ề ấ ỗ ả ạ ờ ể ử
ng trên kho ng 2000 vùng đư c đ xu t cho m i hình nh t i th i đi m th
nghiệm.
Thêm mộ ợ ể
t như c đi m của thu t toán R c hi
ậ -CNN là không thể thự ện trong thời
gian th c vì ph i m i hình
ự ả ất khoảng 47 giây cho mỗ ảnh thực nghiệm.
b, Fast R-CNN (2015)
Hình 3.15 Kiến trúc mô hình Fast R-CNN [9]
Nh CNN:
ậ ữ
n ra nh ng hạ ế ồ
n ch t n tạ ủ ậ
i c a thu t toán R-
Training qua m t pipeline g c chu
ộ ồm nhiề ớ ế
u bư c: Pipeline liên quan đ n việ ẩn bị
và vận hành ba mô hình riêng biệt.
(pipeline: Là m t t c x lý liên ti u vào là d
ộ ợp hợ ớ
p các bư ử ếp nhậ ầ
n đ ữ liệu (ảnh,
âm thanh, các trường dữ liệ ả ế ả ự ở
u) và tr ra k t qu d báo output).
Chi phí training tốn kém v ng bounding box và th n luy
ề ố ợ
s lư ời gian huấ ện: Mô
hình huấn luy n m t nhi
ệ ột mạng CNN học sâu trên rấ ều region proposal cho mỗi
hình ảnh nên rấ ậ
t ch m.
Phát hi ng ch
ệ ố ợ
n đ i tư ậ ố ộ ử ể đả
m: T c đ x lý không th m bảo realtime.
Trư t bài báo đã đ tăng t
ớ ộ
c đó m ề ấ ể
xu t phương pháp đ ốc kỹ ậ ợ
thu t đư c gọi
là mạng tổng hợp kim tự -
tháp Spatial Pyramid Pooling in Deep Convolutional
Networks for Visual Recognition, hoặc SPPnets vào năm 2014. Phương pháp này
đã tăng t c đ
ố ộ ấ ờ ề
trích xu t features nh lan truy n thuậ ộ ớ đệ
n trên b nh m.
Đi m đ
ể ộ ủ ử ụ ộ ể
t phá c a Fast R-CNN là s d ng m t single model thay vì pipeline đ
phát hiện region và classification cùng lúc.
Kiến trúc c a mô hình trích xu t t t t p các region proposals làm
ủ ấ ừ ứ
b c ảnh mộ ập hợ
đầ ợ ề ạ ộ
u vào và đư c truy n qua m ng deep CNN. M t pretrained-CNN, chẳng hạn
VGG- d -
16, được sử ụ ể
ng đ trích lọc features. Phần cuối của deep CNN là một
custom layer được gọi là layer vùng quan tâm (Region of Interest Pooling - RoI
Pooling) có tác d ng trích xu t các features cho m
ụ ấ ột vùng ảnh input nhấ ị
t đ nh.
Sau đó các features được kết bởi một lớp fully connected. Cuối cùng mô hình chia
thành hai đầu ra, một đầ ự
u ra cho d đoán nhãn thông qua mộ ộ
t softmax layer và m t
29
đầ ự
u ra khác d đoán bounding box (kí hiệu là bbox) dựa trên h i qui tuy n tính.
ồ ế
Quá trình này sau đó được lặ ạ
p l i nhiề ầ ỗ ộ ả
u l n cho m i vùng RoI trong m t hình nh.
Kiế ủ ợ ắ ớ
n trúc c a mô hình đư c tóm t t trong hình dư i đây:
Hình 3. -
16 Kiến trúc single model Fast R CNN [9]
Ở ớ ầ ụ ộ ạ
bư c đ u ta áp d ng m t m ng Deep CNN để ấ
trích xu t ra feature map. Thay vì
warp image của region proposal như ở R-CNN ta sẽ xác đị ị
nh ngay v trí hình chiếu
c i
ủa của region proposal trên feature map thông qua phép ch ếu RoI projection. Vị
trí này s i v i v trí trên c truy
ẽ ố
tương đ ớ ị ảnh gố ế
c. Sau đó ti p tụ ền output qua các
layer RoI pooling layer và các Fully Connected layers để ợ
thu đư c RoI feature
vecto. Sau đó k đư
ế ả đầ ẽ
t qu u ra s ợc chia làm 2 nhánh. 1 Nhánh giúp xác định
phân ph a 1 vùng quan tâm RoI thông qua hàm softmax
ối xác su t theo các class c
ấ ủ
và nhánh còn xác đ a đ
ịnh tọ ộ ủ
c a bounding box thông qua hồi qui các offsets
Mô hình này nhanh hơn đáng k đoán, tuy nhiên v
ể ả ề
c v huấn luyện và dự ẫn cần
một tập hợp các region proposal đượ ề
c đ xuất cùng với mỗi hình ả ầ
nh đ u vào.
c, Faster R-CNN (2016):
Kiến trúc mô hình đã đư n hơn n
ợ ả ệ
c c i thi ữ ề
a v cả ố ộ ấ ệ
t c đ hu n luy n và phát hiện
đượ ề
c đ xuấ ở ộ
t b i Shaoqing Ren và các c ng sự ạ
t i Microsoft Research trong bài
báo năm 2016 có tiêu đề Faster R CNN: Towards Real Time Object Detection
- -
with Region Proposal Networks. Dị ớ
ch nghĩa là “Faster R-CNN: Hư ng tới phát
hiệ ố ợ
n đ i tư ng theo th t khu v
ờ ự ớ ạ ề ấ
i gian th c v i các m ng đ xu ực”.
Kiế ợ
n trúc đư c thi t k t và tinh ch
ế ế để đề ấ
xu ỉnh các region proposals như là một
phần c n luy
ủa quá trình huấ ện, đư ng đ
ợ ọ ạ
c g i là m ề xuất khu vực (Region Proposal
Network), hoặ ợ
c RPN. Các vùng này sau đó đư c sử ụ
d ng cùng với mô hình Fast
R-CNN trong một thiết kế mô hình duy nhất. Những cải tiến này vừa làm giảm số
lượng region proposal vừ ố
a tăng t c hoạ ộ
t đ ng trong thời gian thử ệ
nghi m mô hình
lên g i gian th c v i hi t t t nh t. T là 5fps trên m
ần thờ ự ớ ệu suấ ố ấ ố ộ
c đ ột GPU.
Mặc dù là một mô hình đơn lẻ ấ ế ế ợ
duy nh t, ki n trúc này là k t h p của hai modules:
Mạ ề
ng đ xuất khu vực (Region Proposal Network, viết tắT là RPN). Mạng CNN
để đề ấ ạ ố ợ ầ
xu t các vùng và lo i đ i tư ng c n xem xét trong vùng.
Fast R trích xu t các features t các region proposal và tr
-CNN: Mạ ể
ng CNN đ ấ ừ ả
ra các bounding box và nhãn.
30
Cả hai modules hoạ ộ
t đ ng trên cùng một output của một mạng deep CNN. Mạng
RPN hoạ ộ ộ ế ạ
t đ ng như m t cơ ch attention cho m ng Fast R-CNN, thông báo cho
mạng thứ hai về nơi cần xem hoặc chú ý.
Kiế ủ ợ ổ
n trúc c a mô hình đư c t ng kết thông qua sơ đồ ớ
bên dư i:
Hình 3. -
17 Kiến trúc mô hình Faster R CNN [9]
Ở ạ ớ ử ụ ộ ạ ể ạ ộ
giai đo n s m s d ng m t m ng deep CNN đ t o ra m t feature map. Khác
v R-
ới Fast CNN, kiến trúc này không tạo RoI ngay trên feature map mà sử ụ
d ng
feature map làm đ xác đ
ầ ể
u vào đ ịnh các region proposal thông qua một RPN
network. Đ i feature maps cũng là đ
ồ ờ
ng th ầu vào cho classifier nhằ ạ
m phân lo i
các v t th a region proposal xác c t
ậ ể ủ
c đị ợ
nh đư ừ RPN network.
RPN hoạ ộ
t đ ng bằng cách lấ ầ
y đ u ra c a m t m ng pretrained deep CNN, ch
ủ ộ ạ ẳng
hạn như VGG-16, và truyền feature map vào một mạng nhỏ và đưa ra nhiều region
proposals và nhãn dự đoán cho chúng. Region proposals là các bounding boxes,
dựa trên các anchor boxes hoặc hình dạ ợ ị ớ ợ
ng đư c xác đ nh trư c đư c thiết kế để
tăng tốc và cải thiệ ả
n kh năng đề xuất vùng. Dự đoán c a nhãn đư
ủ ợ ể
c th hiệ ớ
n dư i
dạng nhị phân cho biết region proposal có xuất hiện vật thể hoặc không.
Một quy trình huấn luyện xen kẽ ợ
đư c sử dụng trong đó cả hai mạng con được đào
tạo cùng một lúc. Điều này cho phép các tham số ủ
trong feature dectector c a deep
CNN đượ ỉ ả ụ ộ
c tinh ch nh cho c hai tác v cùng m t lúc.
V -
ị trí Neo đóng vai trò quan trọng trong Faster R CNN.Mỗi một mỏ neo tương
ứ ớ ấ ặ ị ủ ể ạ ị
ng v i 1 box. c
Trong u hình m c đ ch c a Faster R-CNN, có 9 đi m neo t i v
trí c i v a hình
ủa hình y 9 neo t
ảnh.Biểu đ sau đây cho th
ồ ấ ạ ị ủ
trí (320,320) c ảnh
có kích thước (600,800).
31
Hình 3.18: Các kích thướ ỉ ệ ủ
c t l c a mô hình [9]
Ba màu đ c kích thư
ạ ệ
i di n cho ba tỷ ệ ặ
l ho ớc: 128x128, 256x256, 512x512.
Hãy ch n ra các h Ba h u cao chi
ọ ộ ỏ
p / neo màu đ . ộp có tỷ ệ
l chiề ều r ng l
ộ ầ ợ
n lư t
là 1: 1, 1: 2 và 2: 1.
N v m
ếu chọn một ị trí ở ỗi sải chân là 16, sẽ có các vị trí 1989 (39x51). Điều này
dẫ ế
n đ n hộp 17901 (1989 x 9) để xem xét. Kích thước tuyệ ố ỏ ớ
t đ i nh hơn so v i sự
kết hợp của cửa sổ trượt và kim tự tháp. Hoặc có thể lý do đây là lý do tại sao nó
có ph o hi
ạm vi bả ểm tốt như các phương pháp hiện đạ ặ ở
i khác. M t sáng đây là ta
có thể ử ụ
s d ng m t khu v
ạ ề ấ
ng đ xu ự ể
c, phương pháp trong Fast R-CNN, đ giảm
đáng k lư
ể ố
s ợng.
Lớp các mô hình họ YOLO
Hình 3.19 Quá trình nhận dạ ố ợ
ng đ i tư ng mô hình họ YOLO [9]
Đố ớ ấ ả
i v i t t c các thu t toán phát hi
ậ ệ ố ợ
n đ i tư ng trước đó sử dụng các vùng để bản
đị ố ợ ả ạ ẽ
a hóa đ i tư ng trong nh. M ng này s không tập trung vào toàn bộ hình ảnh
hoàn chỉnh. Thay p trung vào các ph n c a hình
vào đó, chỉ ậ
t ầ ủ ảnh có xác suất cao
32
ch t th
ứa vậ ể. YOLO hoặc You Only Look Again là m t toán phát hi
ột thuậ ệ ố
n đ i
tượ ề
ng khác nhi u so vớ ậ ở ầ ộ ạ
i các thu t toán các ph n trên. Trong YOLO, m t m ng
chập duy nhất d n các h i h t cho các h
ự đoá ộp giớ ạn và tính xác suấ ộp này.
Cách YOLO hoạ ộ
t đ ng là ta sẽ ụ
ch p thu nhận ảnh và chia nó thành mộ ớ
t lư i SxS,
trong m i ta l y các h i h
ỗ ớ
i lư ấ ộp giới hạn m. Ứng với m i h
ỗ ộp giớ ạn, m ng s
ạ ẽ đưa
ra xác su t các l p và giá tr n.Các h i h n mà có xác su
ấ ớ ị ộ
bù cho h p giới hạ ộp giớ ạ ất
lớp trên giá trị ngưỡng yêu cầu sẽ đư n và đư
ợ ọ
c ch ợ ử
c s dụng để đị ị đố
nh v i tượng
trong ảnh.
Ưu và nhượ ể ủ
c đi m c a YOLO:
+ YOLO là thu t toán có t i giây) so v i các
ậ ố ộ ỗ
c đ nhanh hơn (45 khung hình m ớ
thuật toán phát hiệ ố ợ
n đ i tư ng khác
+ Hạn ch a thu t toán YOLO là s
ế ủ
c ậ ẽ ặ
g p khó khăn khi xác đị ố ợ
nh các đ i tư ng có
kích thước nhỏ ả ụ ậ
trong nh. d
Ví : Thu t toán có thể ặ ệ
g p khó khan trong vi c phát
hiện m u này là do h
ộ ề
t đàn chim. Đi ạn chế ề
v không gian củ ậ
a thu t toán.
S -
SD máy dò Multi Box
Cũng giố ầ ế ế ầ ủ
ng như h u h t các ki n trúc object detection khác, đ u vào c a SSD là
tọa độ bounding box của v t th
ậ ể (hay còn gọi là offsets của bounding box) và nhãn
của vật thể chứa trong bounding box. Điểm đặ ệ ố
c bi t làm nên t c độ của SSD model
là mô hình sử ụ
d ng một mạng neural duy nhấ ế
t. Cách ti p cận của nó dựa trên việc
nhận di t output shape 3D c
ện vật th trong các features map (là m
ể ộ ủa một mạng
deep CNN sau khi b phân gi i khác nhau.
ỏ ố ộ
các fully connected layers cu i) có đ ả
Mô hình sẽ ạ
t o ra m i các ô vuông g i là grid cells trên các feature map, m
ộ ớ
t lư ọ ỗi
ô đượ ọ ộ ừ ủ ỗ ị ộ ợ ợ ặ
c g i là m t cell và t tâm c a m i cell xác đ nh m t t p h p các boxes m c
đị ể ự ả ậ ể ạ
nh (default boxes) đ d đoán khung hình có kh năng bao quanh v t th . T i
thời điểm dự ạ
báo, m ng neural sẽ trả ề
v 2 giá tr i xác su
ị ố
đó là: phân ph ất nhãn
của vật thể chứa trong bounding box và m a bounding
ột tọ ộ ọ
a đ g i là offsets củ
box. Quá trình huấn luyện cũng là quá trình tinh chỉ ấ
nh xác su t nhãn và bounding
box về ớ
đúng v i các giá trị ground truth input của mô hình (gồm nhãn và offsets
bounding box).
Thêm nữa, network được kết hợ ở
p b i rấ ề
t nhi u các feature map vớ ữ ộ
i nh ng đ phân
giải khác nhau giúp phát hi t th
ệ ợ
n đư c nh ng v
ữ ậ ể ạ ớ
đa d ng các kích thư c và hình
d -
ạng. Trái với mô hình fast R CNN, SSD bỏ qua bước tạo mặt nạ region proposal
network để đề ấ ậ
xu t vùng v t thể ấ
. Thay vào đó t t cả quá trình phát hiện vật thể và
phân lo n trong cùng 1 m
ại v t th c hi
ậ ể ợ
đư c thự ệ ạng. Bản thân tên của mô hình -
Single Shot MultiBox Detector cũng nói lên được rằ ử ụ ề
ng mô hình s d ng nhi u
khung hình box v và phân
ới t scales khác nhau nh
ỷ ệ
l ằm nhận di n vùng v
ệ ật thể
loại v t th , gi m thi
ậ ể ả ểu đượ ớ ạ
c bư c t o region proposal network so với fast R-CNN
nên tăng tốc độ xử lý lên nhiều lần mà tốc độ ử
x lý vẫ ả
n đ m bảo. Bên dướ ả
i là b ng
so sánh tố ộ
c đ running của các mô hình object detection.
Kiến trúc mô hình:
33
Hình 3. C
20 ấu trúc mạng của SSD [9]
SSD dựa trên m t ti n trình lan truy a m t ki n trúc chu n (ch
ộ ế ền thuận củ ộ ế ẩ ẳng hạn
VGG16) để ạ ộ ố ồ ề ở ạ ớ
t o ra m t kh i feature map output g m 3 chi u giai đo n s m. Ta
gọi kiến trúc mạng này là base network (tính từ input Image đến Conv7 trong hình
3). Sau đó ta s t
ẽ hêm những kiến trúc phía sau base network để tiến hành nhận diện
vật thể như phầ ồ ợ
n Extra Feature Layers trong sơ đ . Các layers này đư c diễn giải
đơn gi n như sa
ả u.
34
MÔ HÌNH YOLO TRONG BÀI TOÁN NH N D
Ậ Ạ Ố Ợ
NG Đ I TƯ NG
Giớ ệ ậ
i thi u khái quát thu t toán
You only look once (YOLO) là mộ ể ộ
t mô hình CNN đ detect object mà m t ưu
đi ng mô hình cũ. Th
ể ổ ộ ề
m n i tr i là nhanh hơn nhi u so vớ ữ
i nh ậ ể ạ
m chí có th ch y
tốt trên nhữ ầ
ng IOT device như raspberry pi. Đ u vào mô hình là mộ ứ
t b c i
ả ố
nh, đ
với bài toán object detection, ta không chỉ phải phân loại đượ ứ ả
c object trên b c nh
mà còn ph trí c
ả ị
i xác đ nh vị ợ
đư c vị ủ ố ợ
a đ i tư ng đó. Object Detection có khá
nhi u
ề ứng dụng, ví dụ như h ng theo dõi ngư
ệ ố
th ời dân, từ đó có thể giúp chính
quyề ị
n xác đ nh được t i ph n tr
ộ ạm lẫ ốn ở đó hay không, hoặc hệ th lái,
ống xe tự
cũng ph c ngư đâu t
ả ị ợ
i xác đ nh đư ờ ờ ở
i đi đư ng ừ ế ị ể
đó đưa ra quy t đ nh di chuy n
tiếp theo.
Hình ng trong khung hình
4. K
21 ết quả nhận dạ ố ợ
ng các đ i tư
Có một s t v i m i l n ch
ố ớ
hư ng ti p c
ế ậ ể ả
n đ gi i quyế ấ ề ồ
n đ , đ ng thờ ỗ ầ ạy tốn rất
nhiều th i gian. Vì v y ta
ờ ậ sẽ liệt kê các ý tưở ể ả ế
ng đ gi i quy t bài toàn object
detection.
Chia trí
ảnh thành nhiều box, mỗi box các bạn sẽ detect object trong box đó. Vị
c c
ủa object chính là tạ ộ
o đ ủa box đó.
Thay vì chia thành t ng box,
ừ ta s s d
ẽ ử ụng một thuật toán để lựa chọn những region
ứ ụ
ng viên (ví d như là thuậ ứ
t toán Selective Search), các vùng ng viên này các bạn
có thể ở ữ
tư ng như là nh ng vùng liên thông với nhau trên kênh màu RGB, sau đó
35
với mỗi vùng ứng viên này, ta dùng model để ạ
phân lo i object. có m t s
ta ộ ố mô
hình xây d ng theo ki
ự ểu này như RCNN, Fast RCNN
Rấ ợ ể
t rõ ràng, như c đi m của các phương pháp trên là tốn rất nhiề ể
u tài nguyên đ
tính toán cho mội vùng trên một bức ảnh, và do đó không thể ạ
ch y realtime trên
các thi t b
ế ị ế
y u.
Tổng quát mô hình củ ậ
a thu t toán
M s d
ộ ể ạ ỉ
t trong nhưng ưu đi m mà YOLO đem l i đó là ch ử ụng thông tin toàn bộ
bức ảnh một lần và dự đoán toàn bộ ứ ố ợ
object box ch a các đ i tư ng, mô hình được
xây d ng theo ki
ự ểu end n hoàn toàn b
- -
to end nên được huấn luyệ ằng gradient
descent. Sau đây, tôi sẽ ế ề
trình bày chi ti t v mô hình YOLO
Grid System
Ảnh đượ ậ
c chia thành ma tr n ô vuông 7x7, m i ô vuông bao g
ỗ ồm một t p các thông
ậ
tin mà mô hình ph i d
ả ữ đoán.
Đố ợ ấ ứ ủ ố ợ ầ ị ằ
i tư ng duy nh t mà ô vuông đó ch a. Tâm c a đ i tư ng c n xác đ nh n m
trong ô vuông nào thì ô vuông đó chứ ố
a đ i tư ng đó. Ví d
ợ ụ ủ
tâm c a chai cocacola
nằm trong ô vuông màu xanh, do đó mô hình phả ự
i d đoán đượ ủ
c nhãn c a ô vuông
đó là chai nư c. Lưu ý, c
ớ ho dù phần ảnh của chai coca có nằm ở ô vuông khác mà
tâm không thuộc ô vuông đó thì vẫ ứ ế
n không tính là ch a chai coca, ngoài ra, n u có
nhiều tâm nằm trong m t ô vuông thì
ộ ta vẫn chỉ gán một nhãn cho ô vuông đó thôi.
Chính ràng buộc m a m
ỗi ô vuông chỉ chứ ộ ố ợ ợ ể
t đ i tư ng là như c đi m của mô hình
này. Nó làm cho ta không th detect nh ng object có t
ể ữ ầm nằm cùng một ô vuông.
Tuy nhiên ta có thể tăng grid size từ 7x7 lên kích thướ ớ ể ể
c l n hơn đ có th detect
đư nh đ
ợ ề ớ ủ ả
c nhi u object hơn. Ngoài ra, kích thư c c a ầu vào phả ộ ố ủ
i là b i s c a
grid size.
36
Hình a bounding box thu
4.22 Xác đị ủ
nh tâm c ộ ố ợ
c đ i tư ng
Mỗi ô vuông chịu trách nhiệm dự đoán 2 boundary box củ ố ợ ỗ
a đ i tư ng. M i
boundary box dữ ứ
đoán có ch a object hay không và thông tin v trí c
ị ủa boundary
box gồm trung tâm boundary box củ ố ợ
a đ i tư ng và chiều dài, rộng của boundary
box đó. Ví vụ ô vuông màu xanh cần dự đoán 2 boundary box chứa chai coca như
hình minh họa ở dướ ộ
i. M t điề ầ
u c n lưu ý, lúc cài đặt ta không dự đoán giá trị pixel
mà c i chu
ần phả ẩn hóa kích thước ả ề
nh v đoạn từ [0-1] và dự đoán độ lệch của tâm
đố ợ ế ứ ố ợ ụ ữ ị ủ
i tư ng đ n box ch a đ i tư ng đó. Ví d , ta thay vì d đoán v trí pixel c a
đi đoán đ
ểm màu trắ ầ
ng, thì c n dự ộ ệ
l ch a, b trong ô vuông chứa tâm object.
37
Hình 4. D l
23 ự đoán độ ệ ủ ứ
ch c a 2 box ch a object
T c
ổng hợp lại, với mỗi ô vuông ta ần dữ đoán các thông tin sau:
Ô vuông có chứ ố ợ
a đ i tư ng nào hay không?
D l
ự đoán độ ệch 2 box chứ ớ
a object so v i ô vuông hiện tại
Lớp của object đó
Như vậ ớ ỗ
y v i m i ô vuông ta cần dữ đoán một vector có (nbox+4*nbox+nclass)
chiều. Ví d i v
ụ, ta cần dự ớ ố
đoán 2 box, và 3 l p đ ới mỗi ô vuông thì chúng sẽ có
một ma trận 3 chiều 7x7x13 chứ ộ ầ
a toàn b thông tin c n thiết.
CNN cho YOLO object detection:
Ta đã cần biết phải dự đoán nh ng thông tin nào đ
ữ ối vớ ỗ
i m i ô vuông, điều quan
trọng ti ng m
ếp theo là xây dự ột mô hình CNN có cho ra ouput với shape phù hợp
theo yêu cầu của ta, tức là gridsize x gridsize x (nbox+4*nbox+nclass). Ví dụ ớ
v i
gridsize là 7x7 là m i object t
ỗi ô vuông dự ạ
đoán 2 boxes, và có 3 lo ất thì ta
cả
phả ầ
i c n output có shape 7x7x13 từ mô hình CNN
38
Hình ng c
4.24 Quá trình hoạ ộ
t đ ủa mô hình CNN vớ ố ợ
i đ i tư ng đã cho [7]
YOLO sử ụ ể ự ở ỗ
d ng linear regression đ d đoán các thông tin m i ô vuông. Do đó,
ở ố ẽ ử ụ ấ ạ ả ớ ả ầ
layer cu i cùng ta s không s d ng b t kì hàm kích ho t nào c . V i nh đ u
vào là 448x448, mô hình CNN có 6 t ng max pooling v
ầ ới size 2x2 sẽ ả
gi m 64 lần
kích thước ả ố
nh xu ng còn 7x7 ở output đầ ồ
u ra. Đ ng thờ ử ụ
i thay vì s d ng tầng full
connected ta
ở các t i cùng,
ầng cuố có th thay th
ể ế ằ
b ng tầng 1x1 conv với 13
feature maps để ễ
output shape d dàng cho ra 7x7x13.
Hàm lỗi Loss Function:
Ta đã định nghĩa đượ ữ ầ ả ự
c nh ng thông tin mà mô hình c n ph i d đoán, và kiến trúc
của mô hình CNN. Bây giờ là lúc mà sẽ đị ỗ
nh nghĩa hàm l i.
YOLO sử ụ ộ ỗ ữ ự ể ộ ỗ
d ng hàm đ l i bình phương gi d đoán và nhãn đ tính đ l i cho
mô hình. Cụ ể ộ ỗ ổ
th , đ l i t ng sẽ là t i con sau:
ổng củ ộ ỗ
a 3 đ l
Độ ỗ ủ ệ ữ ạ ủ
l i c a vi c d đoán lo i nhãn c a object Classifycation loss
-
Độ ỗ ủ ự ạ ộ
l i c a d đoán t o đ cũng như chiề ộ ủ
u dài, r ng c a boundary box -
Localization loss
Độ ỗ ủ
l i c a ô vuông có chứa object nào hay không - Confidence loss
Ta mong muốn hàm lỗi có chức năng sau. Trong quá trình huấn luyện, mô hình sẽ
nhìn vào nh ng ô vuông có ch
ữ ứ ớ ủ
a object. Tăng classification score l p đúng c a
object đó lên. Sau đó, cũng nhìn vào ô vuông đó, tìm boundary box tố ấ
t nh t trong
2 boxes đư a boundary box đó lê
ợ ự ủ
c d đoán. Tăng localization score c n, thay đổi
thông tin boundary box đ n đúng v
ể ầ
g ớ ố ớ ữ
i nhãn. Đ i v i nh ng ô vuông không chứa
object, gi m confidence score và s n classification score và
ả ẽ ế
không quan tâm đ
localization score c a nh
ủ ững ô vuông này.
Tiế ẽ ầ ợ ế ủ ộ ỗ
p theo, ta s đi l n lư t vào chi ti t ý nghĩa c a các đ l i trên.
a, Classification Loss
Ta chỉ tính classification loss cho nhữ ợ
ng ô vuông đư c đánh nhãn là có object.
Classification loss t i nh
ạ ữ ợ
ng ô vuông đó đư c tính bằ ỗ ỗ ữ
ng đ l i bình phương gi a
nhãn đư đoán và nhãn đúng c
ợ ự
c d ủa nó.
39
(4.1)
Trong đó:
+
obj
i
I
: b c l i b
ằng 1 nế ợ
u ô vuông đang xét có object ngư ạ ằng 0
+
ˆ ( )
i
p c : là xác suất có điề ệ ủ
u ki n c a lớp c tại ô vuông tương ứ ự
ng mà mô hình d
đoán
Hình 4. D
25 ự đoán box củ ố ợ
a đ i tư ng [7]
Ví dụ, trong hình minh họa ở ạ
trên, ta có 2 object t i ô vuông (dòng, cột) là (2,1) và
(3,4), ch a object là hình tam giác và hình t classification loss
ứ ứ ề ộ ỗ
c giác đ u. Đ l i
chỉ tính cho 2 object này mà ko quan tâm đến nhữ ặ
ng ô vuông khác. Lúc cài đ t ta
cần lưu ý phải nhân vớ ộ
i m t mask để triệt tiêu giá trị lỗi tại những ô vuông ko quan
tâm.
b, Localization Loss:
Localization loss dùng để tính giá trị ỗ
l i cho boundary box đượ ự
c d đoán bao gồm
offset x, i nhãn chính xác c a ta. Các b
y và chi u dài, r
ề ộng so vớ ủ ạn nên lưu ý rằng,
ta không tính toán trự ế ị ỗ ớ ủ ả ầ ẩ
c ti p giá tr l i này trên kích thư c c a nh mà c n chu n
dưới kính thước ả ề ạ ố ớ ọ ộ
nh v đo n [0-1] đ i v i t a đ điểm tâm, và không dữ đoán trực
tiế ể
p đi m tâm mà ph i d
ả ự đoán giá trị ệ
l ch offset x,y so với ô vuông tương ứng.
Việc chuẩ ớ
n hóa kích thư c ảnh và dự đoán offset làm cho mô hình nhanh hộ ụ
i t
hơn so vớ ệ ự ị ặ ị
i vi c d đoán giá tr m c đ nh.
(4.2)
Độ lỗi localization loss được tính bằ ổ
ng t ng đỗ lỗi bình phương của offsetx, offsety
và chi u dài, r ng trên t t c a object. T i m
ề ộ ấ ả ứ
các ô vuông có ch ạ ỗi ô vuông đúng,
2
2
0
ˆ
(p ( ) ( ))
s
obj
classification i i i
c class
i
L p c
I c
∈
=
= −
∑ ∑
40
ta chọn 1 boundary box có IOU (Intersect over union) tốt nh t, r
ấ ồ ộ
i sau đó tính đ
lỗi theo các boundary box này. Theo hình mình họa trên ta có 4 boundary box tại
ô vuông đúng có vi n màu đ
ề ỏ ọ
, ta ch n 1 box tại m i. Còn
ỗ ể ộ ỗ
i ô vuông đ tính đ l
box xanh đượ ỏ
c b qua.
Localization loss là đ i đ i trên. Do đó, ta c
ộ ỗ
l i quan trọ ấ
ng nh t trong 3 loạ ộ ỗ
l ần
đặ ọ ố ộ ỗ
t tr ng s cao hơn cho đ l i này.
c, Confidence Loss:
Confidence loss th a d a object so v
ể ệ ộ ỗ
hi n đ l i giữ ự ứ
đoán boundary box đó ch ới
nhãn thực tế ạ ộ ỗ ả ữ ứ
t i ô vuông đó. Đ l i này tính nên c nh ng ô vuông ch a object và
không chứa object.
(4.3)
Độ ỗ ộ ỗ ờ ủ ự ứ ớ
l i này là đ l i bình phư ng c a d đoán boundary đó ch a object v i nhãn
thực t i v
ế ủ
c a ô vuông tạ ị trí tương ng, ta lưu ý r
ứ ằ ộ ỗ
ng, đ l i tại ô vuông mà nhãn
chứa object quan trọng hơn là độ ỗ ạ
l i t i ô vuông không chứ ầ
a object, do đó ta c n
s d s
ử ụng hệ ố lambda để cân bằ ề
ng đi u này.
T b
ổng kết lại, tổng lỗi của ta sẽ ằng tổng củ ạ ộ ỗ
a 3 lo i đ l i trên:
(4.4)
Dự đoán lớp và t boundary box sau quá trình training
ọ ộ
a đ
Intersection over Union là ch c s chính xác c
ỉ ố ợ
s đánh giá đư ử ụ ể ộ
d ng đ đo đ ủa
Object detector trên t p ch này trong các Object
ập dữ li th
ệu cụ ể ặ
.Ta hay g ỉ ố
s
Detection Challenge, dạng như PASCAL VOC challenge.
Để ụ ợ ể
áp d ng đư c IoU đ đánh giá mộ ấ ầ
t object detector b t kì ta c n:
Những ground-truth bounding box (bounding box đúng củ ố ợ
a đ i tư ng, ví dụ như
bounding box củ ố ợ ợ ằ
a đ i tư ng đư c khoanh vùng và đánh nhãn b ng tay sử ụ
d ng
trong t p test.)
ậ
Những predicted bounding box được model sinh ra.
Mi s d
ễn là có hai tậ ề
p bên trên, ta đ u có thể ử ụ ợ
ng đư c IoU.
Ta gi
chỉ ữ ạ ữ
l i nh ng boundary box mà có chứ ể ề
a object nào đó. Đ làm đi u này, ta
c l
ần tính tích của xác xuấ ề
t có đi u kiện ô vuông thuộc về ớp i nhân với sác xuất ô
vuông đó chứ ỉ
a object, ch giữ ạ ữ
l i nh ng boundary box có giá tr này l
ị ớn hơn
ngưỡng nhấ ị
t đ nh.
Mỗi object lại có thế có nhiều boundary box khác nhau do mô hình dự đoán. Để
tìm boundary box t dùng thu t toán non
ốt nh t các object, ta có th
ấ ể ậ -maximal
suppression để ạ ữ
lo i nh ng boundary box giao nhau nhiều, t c là có IOU gi
ứ ữ 2
boundary box lớn.
Để ữ ầ
tính IOU gi a 2 box ta c n tính diện tích giao nhau giữa 2 box chia cho tổng
diệ ủ
n tích c a 2 box đó.
41
Dướ ụ ự ề ộ
i đây là ví d tr c quan v m t ground-truth bounding box và một predicted
bounding box.
Hình 4. M v
26 ột ví dụ ề phát hiện biển báo Stop từ hình nh
ả [7]
Predicted bounding box đượ ẽ ằ
c v b ng màu đ , trong khi đó Ground
ỏ -truth được vẽ
bằng màu xanh lá. Mục tiêu của ta là tính toán Intersection over Union giữa hai
bounding box này.
Công thức tính toán Inersection over Union có thể đượ ị
c đ nh nghĩa thông qua:
Hình Công th
4.27 ứ ỉ ệ
c tính t l IoU [7]
Nhìn vào công th n s
ức này, bạ ẽ ấ ả
th y IoU đơn gi n là m t t
ộ ỉ ệ
l . Ở ử ố
t s ta tính
toán area of overlap n ch
- diện tính phầ ồng lên nhau a predicted bounding box
giữ
và ground-truth bounding box. Phần m u s
ẫ ố là area of union n tích ph
- diệ ần h p -
ợ
hay đơn giản hơn là diện tích mà hai bounding box này đang chiế ệ
m. Chia di n tích
phần ch ng (giao) cho di n tích ph
ồ ệ ần h p s
ợ ẽ thu được giá trị ố
mà ta mong mu n
- Intersection over Union (IoU).
Như đã nói ùng và đánh nhãn
ở ợ
-
trên, ground truth bounding box đư c "khoanh v
bằng tay". Khi training một object detector, bạn cần một tập dữ liệu. Tập dữ liệu
này đượ ấ
c chia thành (ít nh t) hai nhóm:
M d
ột training set sử ụ ể
ng đ huấn luyện object detector.
M b
ột testing set dùng trong việ ủ
c đánh giá object detector c a ạn.
42
Cả training và testing set đều bao gồm:
Bản thân các hình ảnh.
Các bounding box tương ứng củ ỗ ả
a m i object trong nh. Bounding box này chỉ đơn
gi nh nh.
ả ạ độ ủ ữ
n là các to (x, y) c a hình ch ậ ả
t bao xung quanh object trong
Những bounding box trong training và testing set được khoanh vùng và đánh
nhãn bằ ậ ọ
ng tay, v y nên đó là lý do ta g i là ground-truth.
Mụ ố
c đích cu i cùng là từ các hỉnh ảnh training và bounding box, xây dựng nên
object detector, và sau đó đánh giá performance trên testing set.
Nế ể
u có đi m số IoU > 0.5, prediction sẽ được coi là một "good" prediction.
Nế ớ ừ
u trư c đây t ng thực hiện bấ ặ
t kì project machine learning nào, đ c biệt là
classification, ch c h n ta s i predict nh ng class label t
ắ ẳ ẽ ờ
thư ng phả ữ ừ output của
model là chính xác hay không chính xác.
Các binary classification kiểu này có thể tính toán độ chính xác tương đối đơn
giả ố
n, tuy nhiên đ i v i bài toán object detection l i là m t câu chuy
ớ ạ ộ ện khác.
Trong thực tế, các toạ độ (x, y) của predict bounding box hầu như không
th nào
ể chính xác hoàn toàn v c -
ới các toạ độ ủa ground truth bounding box. Chính
vì thế, ta cầ ị ộ ạ ợ ể ở
n đ nh nghĩa m t đ i lư ng đánh giá có th khen thư ng những
predicted bounding box trùng kh p nhi
ớ ều với ground-truth:
Hình 4.28 Các đánh giá tỉ ệ
l IoU [7]
Như ta có thể thấy, predicted bounding box trùng khớp nhi u v
ề ới ground-truth có
đi cao hơn nh
ể ố
m s ữ ề
ng box ít trùng. Đi u này khiến cho Intersection over Union
trở ộ
thành m t đ i lư
ạ ợng tuyệt vời đ đánh giá các object detector.
ể Ta không cần
quan tâm đến sự trùng khớp chính xác c a các to
ủ ạ độ (x, y), nhưng vẫ ố
n mu n đảm
bảo các predicted bounding box càng gần với ground IoU có th
- -
truth càng tốt ể
tính đế ề
n đi u này.
43
THUẬT TOÁN N D I CHAI
NHẬ ẠNG LỖ
Cấu trúc phần cứng của hệ thống:
Tổng quan hệ thống
Hình ng c
5. H
29 ệ thố ấ ầ
u trúc ph n cứng
Các chai nư c đưa vào h
ớc sau quá trình chiế ắ ẽ ợ
t rót và đóng n p s đư ệ thố ể
ng ki m
tra chấ ợ
t lư ng trên băng t h
ải. Trong ệ thống này có thể bao gồm các loại cảm biến
h n
ồng ngoại IR hay cảm biế tiệm cận hoặ ể
c cũng có th là cảm biến siêu âm sẽ có
nhiệm vụ phát hiện sự xuất hiện của các chai nư c trư
ớ ớc Camera. Khi mà các cảm
biến này phát hi ng s
ệ ệ ố
n có chai đi qua, h th ẽ đồng thời kh ng camera thông
ở ộ
i đ
qua Computer. Hình ả ợ ậ ả ộ
nh đư c thu nh n thông qua các máy nh có đ phân giải và
tố ộ
c đ cao và giao tiếp với các phần mềm lập trình xử lý hay các công cụ thu nhận
hình ảnh khác. Từ đó sẽ xây d ng nên m
ự ột h i gian
ệ thống xử lý ảnh dựa trên thờ
thực v i m
ớ ục đích xác định các l p chai
ỗi trong phần nắ .
Hình ng nh
5.30 Sơ đồ ầ
các ph n cấ ủ
u trúc chính c a hệ thố ận dạng
44
Chú thích:
Khung mô hình
Motor dẫ ộ
n đ ng băng tải
Motot gạ ỗ
t cocacola l i
Biế ở ả
n tr : Ph n hồi v trí thanh g
ị ạt
Buồng t u sáng
ố ệ ố ế
i: Bên trong có camera và h th ng đèn led chi
Đế đặt máy tính
Chai Cocacola
Thanh gạ ỗ
t chai l i
Băng tải
H n
ộ ệ
p đi
H x
ệ ử lý ảnh trong hệ thống
Hệ Camera
Hình 5.31 Camera Basler
Độ ả
phân gi i (Resolution) 1920px x 1080px
Kíc thướ ả ế
c c m bi n (Sensor Size) 4,2mm x 2,4mm
Cảm biến hình ảnh (Sensor Type) 1/3.7" CMOS
Tố ộ
c đ khung hình (Frame Rate) 26fps
Interface (K t n
ế ối) USB 3.0
Tiế ầ ị
p đó ta c n xác đ nh các thông số yêu c u c
ầ ủa Camera trong hệ th lý
ống xử ảnh
45
Hình Vùng làm vi
5.32 ệc Field of View
Ta có đư đã cho s
ợc sensor size (SS) ử ụ ớ ệ ố
d ng v i camera Basler trong h th ng là
2,4 mm. Từ đây là dựa vào quy tắ ồ
c tam giác đ ng dạ ợ
ng tính đư c giá tr tiêu c
ị ự
của ống kính Focal Length (FL): FL=WD*SS/FoV.
Trong đó: + FoV (Field of View) là Diện tích vùng làm việc ki m tra mà Camera
ể
quan sát được
m
+ Working Distance (WD): Là khoảng cách từ ặ ớ
t trư c củ ế
a lens đ n
vùng đố ợ
i tư ng
n
+ Sensor size (SS): Là kích thước của cảm biế
Việc ch n tiêu c
ọ ự ủ
c a ống kính sao cho đáp ng đư
ứ ợc yêu cầu của luận văn sẽ phụ
thuộc vào khoảng cách WD, WD trong th c t có th ng cách các k
ự ế ể là khoả ỹ ự
sư t
ý thiết lập n u không b n v
ế ị giới hạ ề ầ
ph n c ng (k
ứ ỹ ặ ố
sư thích đ t camera cách đ i
tượng bao nhiêu cũng đư c cũng có th
ợ ặ
c), ho ể ầ
do yêu c u củ ầ
a ph n cứ ầ
ng là c n
cách m t n m tra m
ặ ề ặ ố ợ
n đ t đ i tư ng cần kiể ột khoảng cách bao nhiêu đó.
Trong ng
bài lu này ta ví d
ận văn này ụ ta sẽ đặt camera cách đ i tư
ố ợ là chai cần
nhận d ng kính FL là:
ạng v i kho
ớ ả ậ ị ự ủ
ng cách là 250mm.V y giá tr tiêu c c a ố
FL=
  × 

=
 × ,
 

= 1,18 mm
T s
ừ đây ta ẽ chọ ợ
n đư c Lens phù h p v
ợ ới bài toán
46
Hình ng c
5.33 Các thông số hoạ ộ
t đ ủ ệ
a Camera trong h thống
b, H u sáng trong lu
ệ thống chiế ận văn
Hiệu quả của hệ thống xử lý ả ụ
nh ph thuộc vào chất lượ ả
ng hình nh thu được. Hình
ả ấ ợ ệ ố ộ
nh có ch t lư ng cao cho phép h th ng phân tích m t cách chính xác các thông
tin t i nh t qu
ừ đố ợ
i tư ng kiể ạ
m tra, đem l ững kế ả ậ
đáng tin c y của hệ thống. Chất
lượ ả ợ
ng hình nh thu đư c trong hệ thố ử ả ụ ộ
ng x lí hình nh ph thu c rất cao vào cấu
hình ánh sáng (màu sắ ộ ờ ộ ợ ể ế
c, góc đ , và cư ng đ ánh sáng đư c dùng đ chi u sáng),
quyế ị ế
t đ nh đ n chấ ợ
t lư ng hình ảnh.
Các thi t b m tra trong
ế ị chiếu sáng nên t n c ng ki
ố ộ ả
i ưu hóa đ tương ph ủ ố ợ
a đ i tư ể
khi giảm thiểu độ tương phản củ ầ
a các ph n còn lạ ờ
i, nh đó cho phép hệ thống “nhìn
thấy” rõ các v trí. Hình
ị ả ố
nh đ i tượng kiểm tra có độ tương phản cao sẽ ả
đơn gi n
hóa và c chính xác c nh v
ải thiệ ộ
n đ ủ ệ ố ợ
a h th ng; ngư c lại hình ả ớ ộ ả
i đ tương ph n
thấp và phân bố ồ ề ỏ
ánh sáng không đ ng đ u đòi h i nhiều th i gian và hi
ờ ệu suất xử
lý hơn. Cấu hình thi p ph
ết bị chiếu sáng phù hợ ụ ộ
thu c vào kích thướ ủ
c c a các
phần c n ki
ầ ể ạ ấ ề ặ ầ ậ ủ ế
m tra, hình d ng, tính ch t b m t, và các yêu c u kĩ thu t c a thi t
b . V
ị ới nhiều lựa chọn về bước sóng (màu sắ ớ
c), vùng nhìn (kích thư c), và hình
dáng tùy ch n có s n, thi
ọ ẵ ết bị chiếu sáng có thể đượ ổ ể ợ
c thay đ i đ phù h p theo yêu
c .
ầu ứng dụng cụ thể
Xây dựng thuật toán phân lo i chai coca
ạ
Đố ớ ể ậ ạ ỗ ề ẽ
i v i bài toán ki m tra nh n d ng l i trên dây chuy n đóng chai cocacola s có
2 giai đoạn chính:
+ Giai đoạn kiểm tra hình dáng chai (empty bottle)
+ Giai t xu c trong chai (filled bottle)
đoạn chiế ấ ớ
t nư
Ở ụ ể ậ ẽ ậ ạ ứ ủ ệ ố
trong c th lu n văn này tôi s t p trung vào giai đo n th hai c a h th ng là
chai đoạ ế
n chi t rót. Trong đó sẽ có 3 thành phần quan trọ ể
ng đ kiểm tra và đưa ra
lỗi:
47
+ Nắp chai
+ Nhãn dán
+ Mự ớ ế
c nư c sau khi chi t rót
Từ các đề xuất trên của bài toán, sẽ có các phương pháp thuậ ể
t toán sau đ giải
quyế ố
t và t i ưu bài toán
Phương pháp thu
1: (Sử ậ ậ
t thu t toán Template Matching)
Thuật toán nhận dạng lỗ ự
i chai d a trên Template Matching:
S d
ử ụng phương pháp khớp mẫu (Matching Template Method):
Phương pháp khớ ẫ ộ ậ ể ồ
p m u là m t kĩ thu t đ tìm các vùng tương đ ng củ ộ
a m t hình
ả ẫ ợ ọ
nh m u đư c ch n có trong mộ ả ớ
t hình nh l n hơn.
Trong phương pháp này ta sẽ có 2 thành phần chính:
+ Source Image (Hình n): Hình
ảnh nguồ ảnh đầu vào chứa đối tượng được quan
tâm
+ Template Image (Hình ảnh mẫu): Hình ảnh bán vá trong quá trình phân tích
sẽ đượ ể
c dùng đ tìm kiếm so sánh với Source Image.
Template Image sẽ ợ
đư c “slide” (trượt) từ ả
trái sang ph i, từ ố
trên xu ng dưới trong
Source Image để so sánh sự tương đồng với nhau và tạ ỗ ị
i m i v trí, m i m t s
ỗ ộ ố liệu
sẽ đượ ể
c tính toán đ thể hiện mứ ộ
c đ phù hợp của Template. Phương pháp này sẽ
chuyển về hình ảnh thang độ ạ ỗ ị ộ ị ẽ ợ ể
xám, t i m i v trí, m t giá tr s đư c tính toán đ
thể ệ
hi n mức độ ố
t t hay t i v
ệ ạ
t ị trí đó (ho c cũng có th
ặ ể ể
hi u là xét mức độ tương
đồ ủ ả ả ớ ừ ự ủ ả ồ
ng c a b n vá hình nh v i t ng khu v c c a hình nh ngu n).
Dựa trên phương pháp trượt, giả sử ảnh đ u vào có kích thư
ầ ớ ả
c (WxH) và hình nh
mẫu có kích thướ ả
c là (wxh), thì hình nh đầ ẽ
u ra (Result) s có kích thước (W-w+1,
H-h+1).Nói một cách khác, v i giá tr trí c a T trên I, ta s giá tr
ới mỗ ị ị
v ủ ẽ ữ
lưu gi ị
số liệu trong ma trận kết quả thu đượ ỗ ộ ị ứ ộ ố
c R. M i m t v trí (x,y) trong R ch a m t s
liệu phù h p bi
ợ ểu di n s
ễ ự tương đồng.
Để ự ệ ấ
th c hi n Template Matching, Open CV cung c p function
cv2.MatchTemplate():
Result= cv2.matchTemplate(source, template, method)
Trong đó:
source – hình ảnh chứa đ tư
ối ợ ợ
ng đư c quan tâm;
template – “object patch” đượ ể ế
c dùng đ tìm ki m trong source;
method – phương pháp so sánh, gồm cv2.TM_CCOEFF, cv2.TM_SQDIFF,
CV_TM_CCORR…;
result th
– ma tr n ch a k t qu tính toán t i m i v
ậ ứ ế ả ạ ỗ ị trí để ể ệ
hi n mức độ ợ
phù h p
c .
ủa Template
Sau khi nhậ ợ
n đư c kết quả ợ
thu đư c từ ậ ẽ ử ụ
ma tr n R, ta s s d ng function
cv2.minMaxLoc()
minVal, maxVal, minLoc, maxLoc = cv2.minMaxLoc(matrix)
Trong đó:
48
minVal, –
maxVal giá trị nhỏ nhất và lớn nhất của matrix;
minLoc, – t
maxLoc ọa độ ủ
c a giá tr minVal và maxVal trong matrix,
ị ở ạ
d ng (x,
y).
+ Loc max (l ng t n nh
ọ ứ
c dãn): đáp ại từ ể
ng đi m ảnh là giá trị ớ
l ất sau quá trình
x c d
ếp hạng các giá trị ủ ể
a đi m ảnh lân cận. Tác ụ ể
ng: Tìm các đi m sáng nhất của
ảnh
+ Loc min (lọc co): đáp ứ ạ ừ ể
ng t i t ng đi m ả ị ỏ ấ ế
nh là giá tr nh nh t sau quá trình x p
h c
ạng các giá trị ủ ể
a đi m ảnh lân cậ ụ ể ố ấ ủ ả
n. d
Tác ng: Tìm các đi m t i nh t c a nh
Sau đó lấ ị ủ ữ ậ ấ
y giá tr này làm góc trên cùng phía bên trái c a hình ch nh t và l y (w,
h) làm chi u cao c a hình ch
ều rộng và chiề ủ ữ ậ
nh t. Hình chữ ự
nhât đó là khu v c
mẫu của chúng ta.
49
*Thuậ ậ
t toán quá trình nh n di n l
ệ ỗ ắ
i n p chai:
Correction
Accept
Yes Áp dụng thuật toán
Template matching
If Area==Ref.Area
Reject
No
Hình c thu nh
ảnh đượ ận
(Hình ả ợ
nh đư c chuy n
ể
v thang xám)
ề
Tính toán diện tích các
khu v ng
ực đố ợ
i tư
đượ ế
c liên k t (ROI)
Lấy phần bù hình ảnh
(Complement Image)
Ả ị
nh nh phân
(Binary Image)
Phân ngưỡng hình ảnh
(Thresholding)
Biểu di n các phép
ễ
toán hình học
(Perform
Morphological
Hình 5.34 thu
Sơ đồ ật toán của phương pháp Template Matching
50
Hình trên biểu diễn trên sơ đồ ố
kh i là quá trình phân tích xử lý hình nh. Hình
ả ảnh
thu đượ ả ị ả
c là hình nh có các giá tr màu xám trong kho ng 0-255. Giá trị 0 sẽ đại
diện cho màu đen, giá trị 255 s n cho màu tr
ẽ đại diệ ắng và ở giữa các giá trị ừ
t 1
đế ẽ đạ ệ ữ ắ
n 254 s i di n cho các màu xám khác nhau gi a đen và tr ng.Hình ảnh tiếp
tụ ợ
c đư c chuyể ổ
n đ i thành hình ảnh nhị phân theo phương pháp áp dụng các
ngư c đư
ỡng phù hợ ự
p.Khu v ợ ợ
c quan tâm (ROI) region of interest đư c tính toán
và sẽ được so sánh vớ ẫ
i các m u ả ế ả ự ế ả
nh tham chi u hoàn h o.D a trên k t qu so sánh
này, vi p nh
ệ ấ
c ch ậ ạ ỏ đố ợ
n hay lo i b i tư ng lỗ ẽ ợ ế ị
i s đư c quy t đ nh.
* Kế ả ủ ệ
t qu c a vi c phân tích x lý hình
ử ảnh
Hình 5.4 cho thấy hình ảnh chuyển về thang màu xám thu đc (a), ả ị
nh nh phân (b),
ả ầ ả
nh ph n bù (c) và nh sau khi trả ọ
i qua các phương pháp l c nhiễ ể ộ
u đ cho ra m t
hình mẫu hoàn hảo (d).Hình c ch i thành
ảnh mứ ợ ợ
c xám thu đư c đư uyể ổ
n đ ảnh
nhị phân bằ ặ
ng cách đ t các giá trị ngưỡng phù hợp.Khi đó khu vự ầ
c ph n nắp sẽ
đư n đ
ợ ể
c chuy ổ ị
i thành vùng màu đen (vì có giá tr nhị ằ
phân b ng 0) và các khu
vực còn lạ ợ
i đư c chuyể ổ
n đ i thành vùng trắng ( vì có giá trị nhị phân bằng 1).Sau
đó hình đư
ảnh này sẽ ợ ể
c chuy n thành lấy phầ ớ
n bù như hình (c).V i các hình ảnh
này sẽ bị nhiễu từ ảnh hưở ủ
ng c a các môi trườ ầ ợ ạ
ng ánh sáng và c n đư c lo i bỏ. Ta
sẽ áp dụ ọ ể
ng các phương pháp l c Sobel, Gauss,Median Filters… đ loại bỏ nhiễu
của ảnh giúp cho hình ảnh rõ ràng hơn.
Hình nh l
5.35 (a) Ảnh mẫ ợ
u thu đư c (b) Ảnh nhị phân (c) Ả ấy ph n bù (d)
ầ Ảnh
sau l c nhi
ọ ễu
Hình p
ảnh kết qu y ch t liên k t gi a hai thành ph
ả trên cho thấ ỉ ồ
bao g m mộ ế ữ ần nắ
chai và ph n mác c p (tamper) và liên k
ầ ủa nắ ết đó đượ ể
c th hiện trong khu vực màu
trắng của phần nắp.Khi đó khu v đư
ự ầ ắ
c ph n tr ng củ ắ
a n p sẽ ợc mang ra tính
toán.Ban đầ ộ ầ ẫ ố
u m t ph n m u t t của chai sẽ ợ ệ ậ
đư c đưa vào cho vi c thu nh n hình
ả ế ớ ợ ự ệ ẫ
nh tham chi u và các bư c phân tích bên trên đư c th c hi n cho m u hình ảnh
chai cụ thể đó và đượ ế ể ạ ỏ
c xét đ n đ lo i b nhiễu của hình ảnh kết quả như hình ảnh
tham chi t quá trình ki m tra.
ếu trong suố ể
51
Hình 5.36 (a) Ảnh thu đượ ị
c b thiếu (thi p) (b)
ếu nắ Ảnh nhị phân (c) Ảnh l y ph
ấ ần
bù (d) Ảnh sau lọc nhiễu
Hình 5.37 (a) Ảnh thu dượ ị ế ế Ả ị Ả
c b thi u ( thi u tamper) (b) nh nh phân (c) nh lấy
phần bù (d) c nhi
Ảnh sau lọ ễu
Hình ảnh 5.5 và 5.6 cho ta th p chai ho
ấy hình ảnh nắ ặc phần tem bên dướ ị
i b thi u.
ế
Vì vậy, khu vự ợ ế ợ
c đư c xét đ n (ROI) đư c tính toán và so sánh với khu vực của
hình ả ế ế ả ệ ớ
nh tham chi u và cho ra k t qu khác bi t quá l n. Khi đó thuật toán tiếp tục
đượ ể ể
c phát tri n đ hiể ị
n th thông báo lỗi ra màn hình.
Hình 5.38 (a) Ảnh thu đượ ị
c b thiếu (N n tem b tách kh i nhau) (b)
ắp và phầ ị ỏ Ảnh
nh u
ị Ả
phân (c) nh l y ph
ấ ần bù (d) Ảnh sau lọc nhiễ
Hình 5.7 tách chia
cho ta thấy ph n n
ầ ắp và phần tem bên dưới bị khỏi nhau và bị
thành 2 phần riêng biệt. Vì vậy trong trườ ợ
ng h p này ROI đã bị chia làm hai thành
phần khu vực khác nhau. D a
ự trên các phân tích bên trên s t qu
ẽ ế
đưa ra k ả như
hình 5.8.
Hình nh thu nh
5.39: Ả ận bị ừ
t chối do lỗi
Để ợ ự ệ ố ể ờ ẽ ộ
có đư c s chính xác trong h th ng ki m tra, ánh sáng môi trư ng s là m t
thách th o ra thành ph c t
ức lớn tạ ần nhiễu trong hình n s
ảnh dẫ ế
n đ ự ứ
ph ạp trong
52
quá trình đứa ra việc phát triển các thuật toán cho phù h l
ợp. Về cơ bả ể
n đ ọ ợ
c đư c
tố ễ ờ
i đa nhi u thì môi trư ng của dố ợ
i tư ng cầ ợ ặ
n đư c đ t trong không gian tối
Phương pháp 2: Thuậ ử ụ ạ
t toán s d ng Edge Detection (tìm biên c nh)
Hình 5.40 thu t toán Edge Detection
Sơ đồ ậ
Thu nhận nh
ả
Ti lý
ền xử
(Lọc nhiễu)
Phân đoạn ảnh
(Tìm biên)
Kĩ thuậ ọ
t hình thái h c
(Morphological
techniques)
Phát hiện các cạnh dọc của chai
(Detection Vertical Lines)
Phát hiệ ờ
n các đư ng ngang (horizontal line) để xác
đị ờ ắ ự ớ
nh đư ng qua n p chai và m c nư c
Xác đị ờ ẻ
nh đư ng k
ngang trung bình
(Average Line)
So sánh hiệu khoảng cách của
đư ng trung bình và đư
ờ ờng
kẻ ngang mự ớ
c nư c với giá trị
khoảng cách chuẩn ban đầu
Under
fill
level
Over fill
level
Normal
So sánh hiệu khoảng cách của
đư ng trung bình và đư
ờ ờ ẻ
ng k
đỉ ắ ớ ị ả
nh n p v i giá tr kho ng cách
chuẩ ầ
n ban đ u
Normal
Unpacked
Cap
No
cap
Kho a
ảng cách giữ
hai đườ ọ
ng biên d c
Đ
S
53
Thuậ ử ậ
t toán x lý nh n dạng nắ ự ớ
p chai và m c nư c trong chai:
Công vi ng nh
ệ ầ ể ệ ố
c đ u tiên đ h th ận dạng phân loại c
nắp chai và mự ớ
c nư c đượ
thực thi là xác định thuật toán nh là chai cocacola có t i trong
ận dạng vật thể ồn tạ
vùng ROI đang xét hay không.Bằng việ ậ
c nh n dạ ợ ờ
ng đư c các đư ng line thông
qua các thu t toán ti n biên c
ậ ề ạnh (edge detection), từ ẽ ị
đó ta s xác đ nh các đường
vertical có trong vùng ROI.Sử dụ ử
ng toán t vecto Vec4i t ng vertical line
ừ ờ
các đư
đã xác đ c trư c đ xác đ a đ ng cách đ
ị ở ớ
nh bư ớ ể ị ọ
nh t ộ ả
kho ể ừ ế
t đó đưa ra k t quả
có xuấ ệ
t hi n chai trong khung hình ROI hay không.Bướ ế
c ti p theo ta xác định các
đư ng ngang đ
ờ ờ ờ
ng horizontal line (các đư ng ngang) là các đư ị ủ ắ
nh nghĩa c a n p
chai m c trong chai.T
ự ớ
c nư ừ ẽ ị ờ
đó s xác đ nh đư ng tham chi ng trung
ế ờ
u hay đư
bình (đượ ị ớ ề
c xác đ nh trư c trong đi u kiệ ể ừ
n là chai chính xác) đ t đó làm tham
chiếu cho tất cả các chai i trong h t qu
còn lạ ệ thống.Kế ả sẽ đượ ể
c th hi n
ệ ở hình …
Algorithm:
Thu nhận hình ảnh
Ti nhi u
ền xử ể ử
lý đ kh ễ
Chuyển v nh nh
ề ả ị phân
Tìm biên củ ả
a nh
Xác đị ờ ẳ ứ
nh đư ng line th ng đ ng
FoundBottleWidth = LineVerticalRight – LineVerticalLeft
If (FoundBotleWidth = BottleWidth)
Bottle Found (Tìm th y chai)
ấ
Xác đị ờ
nh đư ng nằm ngang
LineTB = RoiCheck/2
CapDetection = LineCap – LineTB
LevelDetection = LineLevel – LineTB
If (MinCap < CapDetection <MaxCap)
If (MinLevel < LevelDetection < MaxLevel)
Cap and Level fine
Else
Cap fine, level not fine
Else
If (MinLevel < LevelDetection < MaxLevel)
Cap not fine, level fine
Else
Cap and Level not fine
Else
No Bottle Found
K m
ết quả thực nghiệ
54
Hình 5. K
41 ết quả chương trình báo đạt khi nhậ ệ
n di n thành công nắp chai và mực
nước
Hình i nh
5.42 Kết quả chương trình báo lỗ ậ ợ
n đư c nắp chai nhưng mự ớ
c nư c
không chính xác
Nghiên cứu hệ thống kiểm tra chiết rót chai tự động.pdf
Nghiên cứu hệ thống kiểm tra chiết rót chai tự động.pdf
Nghiên cứu hệ thống kiểm tra chiết rót chai tự động.pdf
Nghiên cứu hệ thống kiểm tra chiết rót chai tự động.pdf
Nghiên cứu hệ thống kiểm tra chiết rót chai tự động.pdf
Nghiên cứu hệ thống kiểm tra chiết rót chai tự động.pdf
Nghiên cứu hệ thống kiểm tra chiết rót chai tự động.pdf
Nghiên cứu hệ thống kiểm tra chiết rót chai tự động.pdf
Nghiên cứu hệ thống kiểm tra chiết rót chai tự động.pdf
Nghiên cứu hệ thống kiểm tra chiết rót chai tự động.pdf
Nghiên cứu hệ thống kiểm tra chiết rót chai tự động.pdf
Nghiên cứu hệ thống kiểm tra chiết rót chai tự động.pdf
Nghiên cứu hệ thống kiểm tra chiết rót chai tự động.pdf

More Related Content

Similar to Nghiên cứu hệ thống kiểm tra chiết rót chai tự động.pdf

Luận Văn Các Nhân Tố Ảnh Hưởng Đến Thực Hiện Kế Toán Quản Trị Môi Trường
Luận Văn Các Nhân Tố Ảnh Hưởng Đến Thực Hiện Kế Toán Quản Trị Môi TrườngLuận Văn Các Nhân Tố Ảnh Hưởng Đến Thực Hiện Kế Toán Quản Trị Môi Trường
Luận Văn Các Nhân Tố Ảnh Hưởng Đến Thực Hiện Kế Toán Quản Trị Môi TrườngViết Thuê Luận Văn Luanvanpanda.com
 
Nghiên cứu, thiết kế hệ điều khiển đa biến đối tượng công nghiệp.pdf
Nghiên cứu, thiết kế hệ điều khiển đa biến đối tượng công nghiệp.pdfNghiên cứu, thiết kế hệ điều khiển đa biến đối tượng công nghiệp.pdf
Nghiên cứu, thiết kế hệ điều khiển đa biến đối tượng công nghiệp.pdfMan_Ebook
 
Luận văn thạc sĩ xây dựng chương trình hiệu chỉnh trùng phùng cho hệ phổ kế g...
Luận văn thạc sĩ xây dựng chương trình hiệu chỉnh trùng phùng cho hệ phổ kế g...Luận văn thạc sĩ xây dựng chương trình hiệu chỉnh trùng phùng cho hệ phổ kế g...
Luận văn thạc sĩ xây dựng chương trình hiệu chỉnh trùng phùng cho hệ phổ kế g...https://www.facebook.com/garmentspace
 
Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán nhận dạng lòng bàn tay ngườ...
Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán nhận dạng lòng bàn tay ngườ...Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán nhận dạng lòng bàn tay ngườ...
Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán nhận dạng lòng bàn tay ngườ...Man_Ebook
 
Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán nhận dạng lòng bàn tay ngườ...
Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán nhận dạng lòng bàn tay ngườ...Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán nhận dạng lòng bàn tay ngườ...
Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán nhận dạng lòng bàn tay ngườ...Man_Ebook
 
hoccokhi.vn Giáo Trình CNC Cho Máy Phay - Bùi Quý Tuấn, 113 Trang
hoccokhi.vn Giáo Trình CNC Cho Máy Phay - Bùi Quý Tuấn, 113 Tranghoccokhi.vn Giáo Trình CNC Cho Máy Phay - Bùi Quý Tuấn, 113 Trang
hoccokhi.vn Giáo Trình CNC Cho Máy Phay - Bùi Quý Tuấn, 113 TrangHọc Cơ Khí
 
Dieu khien thiet_bi_bang_giong_noi_truyen_tu_xa
Dieu khien thiet_bi_bang_giong_noi_truyen_tu_xaDieu khien thiet_bi_bang_giong_noi_truyen_tu_xa
Dieu khien thiet_bi_bang_giong_noi_truyen_tu_xatienle176
 
Luận Văn Các Nhân Tố Ảnh Hưởng Đến Sự Hài Lòng Công Việc Của Nhân Viên Kế Toá...
Luận Văn Các Nhân Tố Ảnh Hưởng Đến Sự Hài Lòng Công Việc Của Nhân Viên Kế Toá...Luận Văn Các Nhân Tố Ảnh Hưởng Đến Sự Hài Lòng Công Việc Của Nhân Viên Kế Toá...
Luận Văn Các Nhân Tố Ảnh Hưởng Đến Sự Hài Lòng Công Việc Của Nhân Viên Kế Toá...Hỗ Trợ Viết Đề Tài luanvanpanda.com
 
Luận văn: Nghiên cứu thiết kế, chế tạo máy ép rơm cỏ khô làm thức ăn dự trữ c...
Luận văn: Nghiên cứu thiết kế, chế tạo máy ép rơm cỏ khô làm thức ăn dự trữ c...Luận văn: Nghiên cứu thiết kế, chế tạo máy ép rơm cỏ khô làm thức ăn dự trữ c...
Luận văn: Nghiên cứu thiết kế, chế tạo máy ép rơm cỏ khô làm thức ăn dự trữ c...Dịch vụ viết thuê Khóa Luận - ZALO 0932091562
 
Phương pháp sắc ký lỏng hiệu năng cao pha đảo xác định lutein - Gửi miễn phí ...
Phương pháp sắc ký lỏng hiệu năng cao pha đảo xác định lutein - Gửi miễn phí ...Phương pháp sắc ký lỏng hiệu năng cao pha đảo xác định lutein - Gửi miễn phí ...
Phương pháp sắc ký lỏng hiệu năng cao pha đảo xác định lutein - Gửi miễn phí ...Dịch vụ viết bài trọn gói ZALO: 0909232620
 
Ứng dụng mạng học sâu (Deep Learning) xác định lỗi mạch in (PCB) sau khi ăn m...
Ứng dụng mạng học sâu (Deep Learning) xác định lỗi mạch in (PCB) sau khi ăn m...Ứng dụng mạng học sâu (Deep Learning) xác định lỗi mạch in (PCB) sau khi ăn m...
Ứng dụng mạng học sâu (Deep Learning) xác định lỗi mạch in (PCB) sau khi ăn m...Man_Ebook
 

Similar to Nghiên cứu hệ thống kiểm tra chiết rót chai tự động.pdf (20)

Luận Văn Các Nhân Tố Ảnh Hưởng Đến Thực Hiện Kế Toán Quản Trị Môi Trường
Luận Văn Các Nhân Tố Ảnh Hưởng Đến Thực Hiện Kế Toán Quản Trị Môi TrườngLuận Văn Các Nhân Tố Ảnh Hưởng Đến Thực Hiện Kế Toán Quản Trị Môi Trường
Luận Văn Các Nhân Tố Ảnh Hưởng Đến Thực Hiện Kế Toán Quản Trị Môi Trường
 
Cơ sở thiết kế máy
Cơ sở thiết kế máyCơ sở thiết kế máy
Cơ sở thiết kế máy
 
Nghiên cứu, thiết kế hệ điều khiển đa biến đối tượng công nghiệp.pdf
Nghiên cứu, thiết kế hệ điều khiển đa biến đối tượng công nghiệp.pdfNghiên cứu, thiết kế hệ điều khiển đa biến đối tượng công nghiệp.pdf
Nghiên cứu, thiết kế hệ điều khiển đa biến đối tượng công nghiệp.pdf
 
Luận văn: Hồi quy bội tuyến tính và Hồi quy phi tuyến, HOT, 9đ
Luận văn: Hồi quy bội tuyến tính và Hồi quy phi tuyến, HOT, 9đLuận văn: Hồi quy bội tuyến tính và Hồi quy phi tuyến, HOT, 9đ
Luận văn: Hồi quy bội tuyến tính và Hồi quy phi tuyến, HOT, 9đ
 
Luận văn thạc sĩ xây dựng chương trình hiệu chỉnh trùng phùng cho hệ phổ kế g...
Luận văn thạc sĩ xây dựng chương trình hiệu chỉnh trùng phùng cho hệ phổ kế g...Luận văn thạc sĩ xây dựng chương trình hiệu chỉnh trùng phùng cho hệ phổ kế g...
Luận văn thạc sĩ xây dựng chương trình hiệu chỉnh trùng phùng cho hệ phổ kế g...
 
Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán nhận dạng lòng bàn tay ngườ...
Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán nhận dạng lòng bàn tay ngườ...Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán nhận dạng lòng bàn tay ngườ...
Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán nhận dạng lòng bàn tay ngườ...
 
Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán nhận dạng lòng bàn tay ngườ...
Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán nhận dạng lòng bàn tay ngườ...Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán nhận dạng lòng bàn tay ngườ...
Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán nhận dạng lòng bàn tay ngườ...
 
Download here
Download hereDownload here
Download here
 
Luận văn: Kỹ thuật đối sánh hình dạng sử dụng đặc trưng, HOT
Luận văn: Kỹ thuật đối sánh hình dạng sử dụng đặc trưng, HOTLuận văn: Kỹ thuật đối sánh hình dạng sử dụng đặc trưng, HOT
Luận văn: Kỹ thuật đối sánh hình dạng sử dụng đặc trưng, HOT
 
Kỹ thuật đối sánh hình dạng sử dụng đặc trưng dựa trên đường bao
Kỹ thuật đối sánh hình dạng sử dụng đặc trưng dựa trên đường baoKỹ thuật đối sánh hình dạng sử dụng đặc trưng dựa trên đường bao
Kỹ thuật đối sánh hình dạng sử dụng đặc trưng dựa trên đường bao
 
Luận án: Xác định một số thông số cơ bản của bộ phận bóc lá mía
Luận án: Xác định một số thông số cơ bản của bộ phận bóc lá míaLuận án: Xác định một số thông số cơ bản của bộ phận bóc lá mía
Luận án: Xác định một số thông số cơ bản của bộ phận bóc lá mía
 
Luận án: Nghiên cứu phát hiện luật kết hợp hiếm và ứng dụng
Luận án: Nghiên cứu phát hiện luật kết hợp hiếm và ứng dụngLuận án: Nghiên cứu phát hiện luật kết hợp hiếm và ứng dụng
Luận án: Nghiên cứu phát hiện luật kết hợp hiếm và ứng dụng
 
hoccokhi.vn Giáo Trình CNC Cho Máy Phay - Bùi Quý Tuấn, 113 Trang
hoccokhi.vn Giáo Trình CNC Cho Máy Phay - Bùi Quý Tuấn, 113 Tranghoccokhi.vn Giáo Trình CNC Cho Máy Phay - Bùi Quý Tuấn, 113 Trang
hoccokhi.vn Giáo Trình CNC Cho Máy Phay - Bùi Quý Tuấn, 113 Trang
 
Luận văn: Giải thuật bám đuổi đối tượng sử dụng bộ lọc Particle
Luận văn: Giải thuật bám đuổi đối tượng sử dụng bộ lọc ParticleLuận văn: Giải thuật bám đuổi đối tượng sử dụng bộ lọc Particle
Luận văn: Giải thuật bám đuổi đối tượng sử dụng bộ lọc Particle
 
Dieu khien thiet_bi_bang_giong_noi_truyen_tu_xa
Dieu khien thiet_bi_bang_giong_noi_truyen_tu_xaDieu khien thiet_bi_bang_giong_noi_truyen_tu_xa
Dieu khien thiet_bi_bang_giong_noi_truyen_tu_xa
 
Luận Văn Các Nhân Tố Ảnh Hưởng Đến Sự Hài Lòng Công Việc Của Nhân Viên Kế Toá...
Luận Văn Các Nhân Tố Ảnh Hưởng Đến Sự Hài Lòng Công Việc Của Nhân Viên Kế Toá...Luận Văn Các Nhân Tố Ảnh Hưởng Đến Sự Hài Lòng Công Việc Của Nhân Viên Kế Toá...
Luận Văn Các Nhân Tố Ảnh Hưởng Đến Sự Hài Lòng Công Việc Của Nhân Viên Kế Toá...
 
Luận văn: Nghiên cứu thiết kế, chế tạo máy ép rơm cỏ khô làm thức ăn dự trữ c...
Luận văn: Nghiên cứu thiết kế, chế tạo máy ép rơm cỏ khô làm thức ăn dự trữ c...Luận văn: Nghiên cứu thiết kế, chế tạo máy ép rơm cỏ khô làm thức ăn dự trữ c...
Luận văn: Nghiên cứu thiết kế, chế tạo máy ép rơm cỏ khô làm thức ăn dự trữ c...
 
Phương pháp sắc ký lỏng hiệu năng cao pha đảo xác định lutein - Gửi miễn phí ...
Phương pháp sắc ký lỏng hiệu năng cao pha đảo xác định lutein - Gửi miễn phí ...Phương pháp sắc ký lỏng hiệu năng cao pha đảo xác định lutein - Gửi miễn phí ...
Phương pháp sắc ký lỏng hiệu năng cao pha đảo xác định lutein - Gửi miễn phí ...
 
Ứng dụng mạng học sâu (Deep Learning) xác định lỗi mạch in (PCB) sau khi ăn m...
Ứng dụng mạng học sâu (Deep Learning) xác định lỗi mạch in (PCB) sau khi ăn m...Ứng dụng mạng học sâu (Deep Learning) xác định lỗi mạch in (PCB) sau khi ăn m...
Ứng dụng mạng học sâu (Deep Learning) xác định lỗi mạch in (PCB) sau khi ăn m...
 
Luận văn: Định vị trong tính toán khắp nơi, HAY
Luận văn: Định vị trong tính toán khắp nơi, HAYLuận văn: Định vị trong tính toán khắp nơi, HAY
Luận văn: Định vị trong tính toán khắp nơi, HAY
 

More from Man_Ebook

BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdfBÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdfMan_Ebook
 
TL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
TL Báo cáo Thực tập tại Nissan Đà Nẵng.docTL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
TL Báo cáo Thực tập tại Nissan Đà Nẵng.docMan_Ebook
 
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdfGiáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdf
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdfGiáo trình mô động vật - Trường ĐH Cần Thơ.pdf
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdfGiáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdfGiáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdfGiáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdfGiáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình Linux và phần mềm nguồn mở.pdf
Giáo trình Linux và phần mềm nguồn mở.pdfGiáo trình Linux và phần mềm nguồn mở.pdf
Giáo trình Linux và phần mềm nguồn mở.pdfMan_Ebook
 
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdfGiáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình lý thuyết điều khiển tự động.pdf
Giáo trình lý thuyết điều khiển tự động.pdfGiáo trình lý thuyết điều khiển tự động.pdf
Giáo trình lý thuyết điều khiển tự động.pdfMan_Ebook
 
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdfGiáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdfGiáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdfMan_Ebook
 
Giáo trình lập trình cho thiết bị di động.pdf
Giáo trình lập trình cho thiết bị di động.pdfGiáo trình lập trình cho thiết bị di động.pdf
Giáo trình lập trình cho thiết bị di động.pdfMan_Ebook
 
Giáo trình lập trình web - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình web  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình web  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình web - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình lập trình .Net - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình .Net  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình .Net  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình .Net - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình lập trình song song - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình song song  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình song song  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình song song - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình lập trình hướng đối tượng.pdf
Giáo trình lập trình hướng đối tượng.pdfGiáo trình lập trình hướng đối tượng.pdf
Giáo trình lập trình hướng đối tượng.pdfMan_Ebook
 
Giáo trình lập trình hướng đối tượng Java.pdf
Giáo trình lập trình hướng đối tượng Java.pdfGiáo trình lập trình hướng đối tượng Java.pdf
Giáo trình lập trình hướng đối tượng Java.pdfMan_Ebook
 
Giáo trình kỹ thuật phản ứng - Trường ĐH Cần Thơ.pdf
Giáo trình kỹ thuật phản ứng  - Trường ĐH Cần Thơ.pdfGiáo trình kỹ thuật phản ứng  - Trường ĐH Cần Thơ.pdf
Giáo trình kỹ thuật phản ứng - Trường ĐH Cần Thơ.pdfMan_Ebook
 

More from Man_Ebook (20)

BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdfBÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
 
TL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
TL Báo cáo Thực tập tại Nissan Đà Nẵng.docTL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
TL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
 
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdfGiáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
 
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdf
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdfGiáo trình mô động vật - Trường ĐH Cần Thơ.pdf
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdf
 
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdfGiáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
 
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdfGiáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
 
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdfGiáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
 
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdfGiáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
 
Giáo trình Linux và phần mềm nguồn mở.pdf
Giáo trình Linux và phần mềm nguồn mở.pdfGiáo trình Linux và phần mềm nguồn mở.pdf
Giáo trình Linux và phần mềm nguồn mở.pdf
 
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdfGiáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
 
Giáo trình lý thuyết điều khiển tự động.pdf
Giáo trình lý thuyết điều khiển tự động.pdfGiáo trình lý thuyết điều khiển tự động.pdf
Giáo trình lý thuyết điều khiển tự động.pdf
 
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdfGiáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
 
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdfGiáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
 
Giáo trình lập trình cho thiết bị di động.pdf
Giáo trình lập trình cho thiết bị di động.pdfGiáo trình lập trình cho thiết bị di động.pdf
Giáo trình lập trình cho thiết bị di động.pdf
 
Giáo trình lập trình web - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình web  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình web  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình web - Trường ĐH Cần Thơ.pdf
 
Giáo trình lập trình .Net - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình .Net  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình .Net  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình .Net - Trường ĐH Cần Thơ.pdf
 
Giáo trình lập trình song song - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình song song  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình song song  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình song song - Trường ĐH Cần Thơ.pdf
 
Giáo trình lập trình hướng đối tượng.pdf
Giáo trình lập trình hướng đối tượng.pdfGiáo trình lập trình hướng đối tượng.pdf
Giáo trình lập trình hướng đối tượng.pdf
 
Giáo trình lập trình hướng đối tượng Java.pdf
Giáo trình lập trình hướng đối tượng Java.pdfGiáo trình lập trình hướng đối tượng Java.pdf
Giáo trình lập trình hướng đối tượng Java.pdf
 
Giáo trình kỹ thuật phản ứng - Trường ĐH Cần Thơ.pdf
Giáo trình kỹ thuật phản ứng  - Trường ĐH Cần Thơ.pdfGiáo trình kỹ thuật phản ứng  - Trường ĐH Cần Thơ.pdf
Giáo trình kỹ thuật phản ứng - Trường ĐH Cần Thơ.pdf
 

Recently uploaded

Trích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxTrích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxnhungdt08102004
 
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdf
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdfNQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdf
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdfNguyễn Đăng Quang
 
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...ThunTrn734461
 
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Nguyen Thanh Tu Collection
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Nguyen Thanh Tu Collection
 
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoabài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa2353020138
 
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...Nguyen Thanh Tu Collection
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhvanhathvc
 
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxChàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxendkay31
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...Nguyen Thanh Tu Collection
 
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...Nguyen Thanh Tu Collection
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfhoangtuansinh1
 
Sơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdfSơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdftohoanggiabao81
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...Nguyen Thanh Tu Collection
 
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líDr K-OGN
 
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...hoangtuansinh1
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 

Recently uploaded (19)

Trích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxTrích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
 
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdf
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdfNQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdf
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdf
 
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
 
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
 
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoabài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
 
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
 
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxChàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
 
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
 
Sơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdfSơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdf
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
 
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
 
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 

Nghiên cứu hệ thống kiểm tra chiết rót chai tự động.pdf

  • 1. 1 TRƯỜ Ạ Ọ NG Đ I H C BÁCH KHOA HÀ NỘI LUẬ Ạ N VĂN TH C SĨ Nghiên c m tra chi t rót chai t ứu hệ thống kiể ế ự động TRẦN THIÊN NAM thiennam.tran2009@gmail.com Chuyên ngành n T K t ỹ thuậ Cơ Điệ ử Giảng viên hướ ẫ ng d n: GVCC. TS. Nguyễn Trọng Doanh B : ộ môn Cơ Điệ ử n T Viện: Cơ Khí HÀ NỘI, 3/2020 Chữ ký của GVHD
  • 2. 2 ĐỀ Ậ TÀI LU N VĂN Đề ế ệ tài tên ti ng Vi t “Nghiên c m tra chi t rót chai t ứu hệ thống kiể ế ự động”. Đề ế tài tên ti ng Anh “Research of automatic vision system for bottle filling inspection”. Giáo viên hướ ẫ ễ ng d n: GVCC.TS. Nguy n Trọng Doanh Giáo viên hướ ẫ ng d n Ký và ghi rõ họ tên
  • 3. 3 LỜI ẢM C ƠN Đầu tiên em xin chân thành cảm ơn GVCC.TS. Nguy n T ng Doanh và TS. ễ rọ Hoàng Hồng H ng d ải – ngườ ự i đã tr c tiế ớ p hư ẫ ị ớ n và đ nh hư ng giúp em có thể nhanh chóng ti p c ế ậ ắ n, n m bắt kiến th tài lu ứ ề c và hoàn thành đ ận văn. Em xin g y cô giáo khoa b ửi lời c i toàn th ả ớ m ơn t ể thầ ộ ệ môn Cơ đi n tử ệ – Vi n Cơ khí trường Đạ ọ ộ i h c Bách Khoa – Hà N i, đã tận tình giả ạ ng d y trang bị cho em những kiến thức quý báu trong nhữ ọ ừ ng năm h c v a qua. Mặc dù em đã cố ắ g ng hoàn thành tố ề t đ tài nhưng cũng không thể ỏ tránh kh i nh nh n ững sai sót nh nh, r t mong ấ ị t đ ấ ậ được đóng góp ý kiến c y cô giáo và ủa thầ các bạn. TÓM NG TẮT ỘI N DU LUẬN VĂN Nội dung nghiên cứu: Nghiên c c v m tra chi t rót chai t ứ ợ u sơ lư ề ệ h thống kiể ế ự động Nghiên cứu tổng quan về ệ h thống xử lý ảnh Nghiên c t thu ứu về ậ các kĩ thu ật toán nhận dạng và phát hiệ ố ợ n đ i tư ng Nghiên cứu về mô hình YOLO trong bài toán nhận dạ ố ợ ng đ i tư ng Nghiên c t toán phát hi i chai ứu và tố ậ i ưu hóa thu ện và nhận dạng lỗ K u: ết quả nghiên cứ B d - ằ ế ng phương pháp k t hợp sử ụng mạng nơ ron (YOLO) và phương pháp tìm biên c n th ạnh truyề ống, t n l c tiêu chính: nâng huật toán phát hiệ ỗ ạ ợ i đ t đư c hai mụ cao độ chính xác và khả năng kiể ự ế m tra tr c tuy n đả ả ổ m b o tính n đinh và tiết kiệm th lý th th ời gian xử của hệ ống. Một hệ ống kiểm tra trên chai Cocacola được thực nghi nghi ệm. K t qu ế ả thực ệ ợ m thu đư c chỉ ớ ra v i thu t toán phát tri ậ ển độ chính xác có thể đạ ợ t đư c 95% và có th ng trong s ể ợ đư c ứng dụ ản xuấ ự độ t t ng. Giáo viên hướ ẫ ng d n Học viên Ký và ghi rõ họ tên Ký và ghi rõ họ tên
  • 4. 4 M C ỤC LỤ ĐỀ Ậ TÀI LU N VĂN 2 L 3 ỜI CẢM ƠN TÓM T I DUNG LU ẮT NỘ ẬN VĂN 3 M C 4 ỤC LỤ DANH MỤC HÌNH VẼ 6 DANH M C B Ụ ẢNG 8 CHƯƠNG 1. MỞ ĐẦU 9 1.1 9 Đặt vấ ề n đ 1.2 tài Tính cấp thiết của đề 9 1.3 tài Mục tiêu đề 9 1.4 Nội dung của luận văn 10 CHƯƠNG 2. TỔ Ề Ử Ả NG QUAN V X LÝ NH 11 2.1 x Cơ bản về ử lý ảnh 11 2.2 trong Các kĩ thuật lọc nhiễu ảnh 12 2.2.1 nh 12 Nguyên tắc chung củ ọ a l c ả 2.2.2 nh: M b l ột số ộ ọc làm mịn ả 13 2.3 Các kĩ thuật dò cạnh17 2.3.1 17 Khái quát về dò cạnh 2.3.2 nh 17 Các phương pháp dò cạ 2.4 Kĩ thuật hình thái học (Morphological technique) 21 CHƯƠNG 3. MỘ Ố Ậ Ậ Ệ T S KĨ THU T THU T TOÁN PHÁT HI N VÀ NHẬN DẠ Ố Ợ NG Đ I TƯ NG 25 3.1 Tổng quát chung khái niệ ậ ạ ố ợ m nh n d ng đ i tư ng 25 3.2 Các thuật toán chính để ệ phát hi n và nh n d ậ ạ ố ng đ i tượng 26 3.2.1 Lớp các mô hình họ R-CNN 26 3.2.2 Lớp các mô hình họ YOLO31 3.2.3 SSD máy dò Multi-Box 32 CHƯƠNG 4. MÔ HÌNH YOLO TRONG BÀI TOÁN NH NG Đ ẬN DẠ ỐI TƯỢNG 34 4.1 Giới thiệu khái quát thuật toán 34 4.2 Tổng quát mô hình củ ậ a thu t toán 35 4.2.1 35 Grid System 4.2.2 CNN cho YOLO object detection:37 4.2.3 38 l Hàm ỗi Loss Function: a, Classification Loss 38 b, Localization Loss: 39
  • 5. 5 c, Confidence Loss: 40 4.2.4 Dự đoán lớp và t boundary box sau quá trình training ọ ộ a đ 40 CHƯƠNG 5. THUẬ Ậ Ạ Ỗ T TOÁN NH N D NG L I CHAI 43 5.1 th Cấu trúc phần cứng của hệ ống: 43 5.1.1 43 Tổng quan hệ ố th ng 5.1.2 44 H x ệ ử lý ảnh trong hệ ố th ng 5.2 Xây dựng thuật toán phân lo i chai coca ạ 46 5.2.1 47 Phương pháp 1: (Sử thuật thuật toán Template Matching) 5.2.2 Phương pháp 2: Thuậ ử ụ ạ t toán s d ng Edge Detection (tìm biên c nh)……… 52 5.2.3 Phương pháp 3 được đề xuất trong bài toàn c a lu ủ ận văn (kế ợ ữ ậ t h p gi a thu t toán YOLO trong neural network và edge detection sử ụ d ng trong phương pháp 2) 56 5.3 Phân tích kế ả ạ ợ ủ ề ấ t qu đã đ t đư c c a phương pháp đ xu t 62 CHƯƠNG 6. K N CHUNG VÀ HƯ Ế Ậ T LU ỚNG PHÁT TRIỂ Ủ N C A LUẬN VĂN 66 6.1 Kết luận chung 66 6.2 Hướng phát triển của luận văn 66
  • 6. 6 DANH MỤC HÌNH VẼ Hình 2.1 Các giai đoạ ủ ộ ử n c a m t quá trình x lý ảnh 11 Hình 2.2 Quy t n l ắ ậ ậ c nhân ch p ma tr ọc kernel 13 Hình 2.3 Kế ả ọ t qu sau khi l c trung bình [8] 14 Hình 2.4 Sơ đồ ố phân ph i Gauss [8] 15 Hình 2.5 Kế ả ọ t qu sau khi l c Gauss [8] 16 Hình 2.6 Kế ả ọ ị t qu sau khi l c trung v [8]17 Hình 2.7 Lọc biên theo phương pháp Robert Cross [8] 18 Hình 2.8 Lọc biên theo phương pháp [8] 19 Hình 2.9 Lọc biên theo phương pháp Canny 21 Hình 2.10 Quá trình chập trong phép toán Giãn nở 23 Hình 2.11 Quá trình chập trong phép toán co 24 Hình 3.1 Sơ đồ ổ ợ ụ t ng h p các tác v Vision [9] 26 Hình 3.2 Quá trình phát tri t toán phát hi ện của thuậ ện và nhận d ng [9] ạ ố ợ ng đ i tư 26 Hình 3.3 Kiến trúc mô hình R-CNN [9] 27 Hình 3.4 Kiến trúc mô hình Fast R-CNN [9] 28 Hình 3.5 Kiến trúc single model Fast R-CNN [9] 29 Hình 3.6 Kiến trúc mô hình Faster R-CNN [9] 30 Hình 3.7: Các kích thướ ỉ ệ ủ c t l c a mô hình [9] 31 Hình 3.8 Quá trình nhậ ạ ố ợ n d ng đ i tư ng mô hình họ YOLO [9] 31 Hình 3.9 Cấ ạ ủ u trúc m ng c a SSD [9] 33 Hình 4.1 Kế ả ậ ạ ố ợ t qu nh n d ng các đ i tư ng trong khung hình 34 Hình 4.2 Xác đị ủ nh tâm c a bounding box thuộ ố ợ c đ i tư ng 36 Hình 4.3 Dự ộ ệ ủ đoán đ l ch c a 2 box chứa object 37 Hình 4.4 Quá trình hoạ ộ ủ ớ ố t đ ng c a mô hình CNN v i đ i tượng đã cho [7] 38 Hình 4.5 Dự ủ ố ợ đoán box c a đ i tư ng [7] 39 Hình 4.6 M phát hi n báo Stop t nh [7] ột ví dụ ề v ện biể ừ hình ả 41 Hình 4.7 Công thứ ỉ ệ c tính t l IoU [7] 41 Hình 4.8 Các đánh giá tỉ ệ l IoU [7] 42 Hình 5.1 Hệ ố ấ ầ ứ th ng c u trúc ph n c ng 43 Hình 5.2 Sơ đồ ầ ấ ủ ệ các ph n c u trúc chính c a h thố ậ ạ ng nh n d ng 43 Hình 5.3 Camera Basler 44 Hình 5.4 Vùng làm việc Field of View 45 Hình 5.5 Các thông số hoạ ộ t đ ng của Camera trong hệ thống 46 Hình 5.6 Sơ đ a phương pháp Template Matching ồ ậ ủ thu t toán c 49 Hình 5.7 (a) Ảnh mẫu thu đượ Ả c (b) nh nhị phân (c) Ảnh lấy ph nh sau ần bù (d) Ả l u ọc nhiễ 50
  • 7. 7 Hình 5.8 (a) Ảnh thu đượ ị ế c b thi u (thi p) (b) phân (c) ếu nắ Ảnh nhị Ảnh l y ph ấ ần bù (d) Ảnh sau lọc nhiễu 51 Hình 5.9 (a) c b u ( thi u tamper) (b) phân (c) Ả ợ nh thu dư ị thiế ế Ảnh nhị Ảnh lấy phần bù (d) c nhi Ảnh sau lọ ễu 51 Hình 5.10 (a) Ảnh thu đượ ị ế c b thi u (N n tem b tách kh i nhau) (b) ắp và phầ ị ỏ Ảnh nh 51 ị Ả phân (c) nh l y ph ấ ần bù (d) Ảnh sau lọc nhiễu Hình 5.11: Ảnh thu nhận b i do l ị ừ ố t ch ỗi 51 Hình 5.12 Sơ đồ ậ thu t toán Edge Detection 52 Hình 5.13 Kết quả chương trình báo đạ ậ t khi nh n diện thành công nắp chai và mực nước 54 Hình 5.14 Kết quả chương trình báo lỗ ậ ợ ắ ự ớ i nh n đư c n p chai nhưng m c nư c không chính xác 54 Hình 5.15 Kết quả ỗ chương trình báo l i khi không tồ ạ ắ ự ớ n t i n p chai và m c nư c không chính xác 55 Hình 5.16 Kết quả chương trình báo lỗ ắ ị ắ i khi n p chai b l p lệ ự ớ ch và m c nư c không chính xác 55 Hình 5.17 Sơ đồ ậ ợ ử ụ thu t toán đư c s d ng trong luận văn 56 Hình 5.18 Kết quả kiểm tra chai coca l n 1 (Chai 1 chính xác, Chai 2 thi ầ ếu nắp) 58 Hình 5.19 Kết quả kiểm tra chai coca lần 2 (Chai 1 chính xác, Chai 2 thiếu nhãn dán) 58 Hình 5.20 Vùng roi cắt từ bbox chai 59 Hình 5.21 Ả ắ nh sau khi c t ROI chưa dùng Filter 59 Hình 5.22 Ả ắ nh sau khi c t ROI dùng Median Filer 59 Hình 5.23 Chai sau khi s u ch ử ụ d ng bộ ọ ề l c Canny (chưa đi ỉnh Threshold)60 Hình 5.24 Chai sau khi s nh Threshold) ử ụ d ng bộ ọ ề ỉ l c Canny (đã đi u ch 60 Hình 5.25 Đườ ẳ ợ ng th ng tìm đư c 61 Hình ng m 5.26 Kế ả ờ t qu hai đư ự ớ ờ c nư c và đư ng chuẩn 61 Hình 5.27 Chương trình GUI hoàn thiện hoạ ộ ự ế t đ ng trong th c t 62 Hình 5.28 Biểu đồ ế ả ự k t qu th c nghiệ ế ề m đo liên ti p các chai trên dây chuy n sản xu 63 ất mô phỏng Hình 5.29 Bi c nghi ể ồ ế u đ k t quả ự đo th ệm đo 1 chai 10 lần 64
  • 8. 8 DANH MỤC BẢNG Bảng 5.1 Nhận xét đưa ra k a hai Phương pháp 1 và 2 ế ậ ủ t lu n chung c 56 Bảng 5.2 Kết quả thực nghiệ ế m đo liên ti p các chai trên dây chuyền sản xuất mô ph ng 63 ỏ Bảng 5.3 Kết quả thực nghiệ ầ ợ m đo 1 chai l n lư t 10 lần 64 Bả ế ng 5.4 Đưa ra k t luận chung và so sánh giữa ba phương pháp 65
  • 9. 9 M U Ở ĐẦ Đặ ấ ề t v n đ Các dây chuyền công nghệ sản xuất hiện đạ ệ ầ i hi n nay g n như là hoàn toàn tự động hoặc bán tự độ ặ ng. Đ c bi t v i các ngành ngh chính xác cao và kh ệ ớ ề ỏ ộ đòi h i đ ử trùng tuy i thì vi c tham gia 100% c a máy móc trong quá trình s ệ ố t đ ệ ủ ản xuất sẽ đáp ứng đượ ề c các tiêu chí v yêu c u công ngh ầ ệ. Trong đó có ngành s n xu ả ất nước ngọ ớ ặ t đóng chai v i đ c thù được sản xuất trên dây chuyền khép kín, đảm bảo vệ sinh. V i các công ngh ớ ệ ị ờ cân đo đ nh lư ng kiểm tra chính xác, khâu đóng gói, chi trùng. ết rót chai, thùng thành phẩm đảm bảo khử Một hệ th ch ống sản xuất các ất lỏng đóng chai thư ng đư ờ ợ ề c phân chia thành nhi u khâu nối tiếp nhau. Trong đó khâu kiể ấ ợ ủ m tra ch t lư ng c a chai sau quá trình chiết rót là t quy trình r a h mộ ất quan trọng củ ệ thống. Chính vì vậy trong luận văn này, ta s các g m tra c a h ẽ ứ đi vào nghiên c u về iải pháp kiể ủ ệ th lý ống mà xử ảnh sẽ là một công cụ quan trọ ể ng đ hướ ế ng đ n các nhiệm vụ phân tích và nhận dạng các lỗi của hệ thống. Tính cấp thiế ủ ề t c a đ tài Xử lý ảnh là mộ ự t lĩnh v c khoa họ ấ c đã xu t hiện từ lâu và được ứng dụng nhiều trong y c, khoa h và d i ti a k họ ọ ụ c vũ tr ự ờ báo th ết. Ngày nay, s phát tri ự ển củ ỹ thuậ ệ t đi n tử đã cho ra đờ ề ạ i nhi u lo i camera và cả ế ả m bi n hình nh có độ phân giải cao và t t và tùy m ố ộ ấ c đ l y ảnh nhanh, với giá cả ợ phù h p tùy hãng sản xuấ ứ ộ c đ thông minh của thi t b , ch ế ị ấ ợ t lư ng hình ảnh. Từ đó đã cho phép xử lý ả ợ nh đư c ứ ụ ề ệ ấ ự ả ấ ợ ng d ng nhi u hơn vào công nghi p, nh t là trong lĩnh v c qu n lý ch t lư ng, nhận d m và phân lo n ph ạng l n ph ỗi sả ẩ ại sả ẩm dự ặ a vào các đ c tính có thể ậ nh n dạ ợ ng đư c bằng mắ ờ t thư ng và nhữ ặ ng đ c điểm bề ngoài không thể nhận dạng bằng mắ ờ t thư ng. Với nhữ ặ ng đ c tính không thể nhận dạng bằng mắ ờ t thư ng do đặ ể ầ ậ ạ ỏ ặ ạ ứ ạ ặ ầ ậ c đi m c n nh n d ng quá nh ho c hình d ng quá ph c t p, ho c yêu c u nh n diện nhiều vị trí ở ộ cùng m t th m, x nh là m t công c ờ ể i đi ử ả lý ộ ụ ệ vô cùng hi u quả vớ ộ i đ chính xác và độ tin cậy cao. Thực tế, ở ệ Vi t Nam hiện nay, xử ả lý nh trong công nghi p v ệ ẫn còn là một lĩnh vực khá mới mẻ và đang trên đà phát triể ệ n. Do đó, vi c nghiên cứu, khai thác các ứ ụ ủ ử ả ẽ ở ề ộ ệ ng d ng c a x lý nh s m ra nhi u cơ h i cho vi c nghiên cứu và phát triển các h i. Các v ệ thống mớ ấ ề ự độ ề n đ t ng hóa trong đi u khiển và giám sát các thiết bị nói chung là một trong những giả ầ i pháp hàng đ u trong sự nghiệp công nghiệp hóa và hiệ ạ n đ i hóa ở Việt Nam hiện nay. Do đó, luận văn này đưa ra một mô hình điều khiển hệ ố ậ th ng nh n dạng và phân lo i trong dây chuy n s ại chai bị ỗ l ề ả ấ n xu t cocacola bằng phần xử lý ảnh sử d h ụng công nghệ ọc sâu mạng nơron để đáp ứng yêu cầ ề u đi u khiể ự ế n th c t nêu trên. Mụ ề c tiêu đ tài
  • 10. 10 Trong phạm vi của luận văn, tôi sẽ nghiên cứu về các thuật toán xử lý ảnh nói cung để ộ ố ấ ệ ố ả ả ợ đưa ra m t phương án t i ưu nh t trong h th ng đ m b o đư c tính chính xác của hệ thống và cải thiệ ợ n đư c thời gian nhận diện các lỗi của sản phẩm. Nghiên cứ ế u đó k t hợp với các thuật toán trong DeepLearning để phát hi n h ệ ệ ố th ng trong tương lai. Nội dung của luận văn N : ội dung luậ ồ n văn g m 6 chương Chương u 1: Mở đầ Chương x 2: Tổng quan về ử lý ảnh Chương ng đ 3: Một số kĩ thuậ ậ t thu t toán phát hiệ ậ ạ n và nh n d ố ợ i tư ng Chương 4: Mô hình YOLO trong bài toán nhận dạng đố ợ i tư ng Chương 5: Thuật toán nhận dạng lỗi chai Chương K 6: ết luận chung và hướ ể ủ ậ ng phát tri n c a lu n văn
  • 11. 11 T X ỔNG QUAN VỀ Ử LÝ ẢNH x Cơ bản về ử lý ảnh Các giai đoạn củ ộ ử ả a m t quá trình x lý nh Để ể có th hình dung cấ ộ ệ ố ử ả ụ u hình m t h th ng x lý nh chuyên d ng hay một hệ thống xử lý ảnh trong nghiên cứu, các bước cầ ế n thi t trong xử lý ảnh được xem xét như sau. Thu nhận ảnh Tách các đặc tính Phân đoạn Xử lý trước Phân loại Hình 2.1 Các giai đoạn củ ộ ử a m t quá trình x lý ảnh Thu nhận nh ả Ả ể ậ ờ ả ậ ệ nh có th thu nh n qua camera. Thư ng nh thu nh n qua camera là tín hi u tương t u CCIR), nhưng cũng có th ự ạ ố (lo i camera ng kiể ể ệ là tín hi u số ạ hoá (lo i CCD - v Charge Coupled Device). Ả ể nh cũng có th thu nhận từ ệ tinh qua các bộ cảm ứng hay ảnh, tranh đượ ợ ữ c quét trên scanner. Sau đó đư c lưu tr trong máy tính. Gồm có 2 quá trình: - Biế ổ ợ n đ i năng lư ng quang họ ợ c sang năng lư ng điện - Biế ổ ợ ệ n đ i năng lư ng đi n sang các ma trận. X c ử lí trướ Quá trình xử lí trước thực ra bao gồ ề m nhi u công đoạ ỏ n nh . Trướ ế ệ c h t là công vi c tăng cường ảnh để ấ nâng cao ch t lượ ả ng nh. Do những nguyên nhân khác nhau: có thể ấ do ch t lượ ế ng thi t bị thu nhận ả ồ nh, do ngu n sáng hay do nhiễu, ảnh có thể bị suy bi n. Do v y c ế ậ ần ph ng và khôi ph ả ờ i tăng cư ục l làm n t m ại ả ể nh đ ổi bậ ột số đặ ủ ả ả ầ ố ấ ớ ạ ố ạ c tính chính c a nh, hay làm cho nh g n gi ng nh t v i tr ng thái g c (tr ng thái trư c đích ph cho các bư ớc khi ả ị ế ạ nh b bi n d ng). Nhằm các mụ ục vụ ớc tiếp theo. Những mụ ệ ể đặ ử ớ c đích riêng bi t có th t ra cho quá trình x lý trư c là: + Th u qu u sáng ực hi c ph c h ệ ề n đi u chỉ ộ nh đ chiế ể ắ u sáng đ kh ụ ậ ả ủ c a sự chiế không đồ ề ng đ u. + Giảm nhỏ ầ thành ph n nhiễu. + Cả ệ ộ ả i thi n đ tương ph n củ ả ố a nh màu do khuôn màu không t t. + Hiệ ỉ ộ ị u ch nh đ méo giá tr xám + Loại bỏ tính không đồ ể ng th của ả ừ nh gây nên t tính không đồng bộ của lớp nhạy quang của hệ thống thu nhận nh. ả + Chuẩ ộ ớ ạ n hóa đ l n, d ng và màu. + Điề ỉ ộ u ch nh b lọc để khuyếch đạ ầ ố i các t n s với những thông tin quan trọng được khuyế ạ ầ ch đ i và nén đi các t n số khác.
  • 12. 12 Phân đoạn Là quá trình phân chia các o sát ra kh đố ợ i tư ng cần khả ỏi phần nội dung còn lại của ả ố ợ nh, phân tách các đ i tư ng tiếp giáp nhau và phân tách nhữ ố ợ ng đ i tư ng riêng bi t thành nh ệ ữ ố ng đ i tượ ộ ng con. M t phương pháp phân đoạn ảnh là sử dụng một ngưỡ ị ng giá tr xám để phân tách ảnh thành đối tượ ề ữ ng và n n (nh ng điểm dưới ngưỡ ộ ề ng xám thu c v nề ợ n, ngư c lại thuộc về đố ợ i tư ng). Tách ra các đặc tính 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ý đ đưa ra các đ c trưng, đ i tư ặ ố ợng ảnh cũng như các thông tin cần thiết trong quá trình x c t nh ta có th ử ờ ặ ợ lý. Nh các đ c tính có đư ừ ả ể ạ ố phân lo i các đ i tượng khác nhau của ảnh. Phân loại ảnh Thực hiện công vi p x p m ệc sắ ế ộ ố ợ ộ ớ ố ợ ớ ể t đ i tư ng vào m t l p đ i tư ng cho trư c. Đ giải quyết bài toán này thì các đặc tính có ý nghĩa phả ợ ự ọ ấ i đư c l a ch n. Ta tìm th y các đ c tính có ý nghĩa khi ta phân tích các m ặ ẫu đượ ự ọ ừ c l a ch n t những đối tượng khác nhau. Các kĩ thuật lọc nhiễu trong ảnh Nguyên tắc chung củ ọ a l c ảnh Nguyên t c chung c ắ ủ ọ a các phương pháp l c là cho ma t i m rận ảnh nhân vớ ột ma trận lọc (Kernel). Trong đó ma trận lọc l c (Kernel) còn có th c g i là c a s ọ ể ợ đư ọ ử ố chập (trong phép nhân ch c nhân n l ập), c a s c, m …. Vi ử ổ ọ l ặt nạ ệ ảnh với ma trậ ọc giống như việ ợ c trư t ma trận l nh và nhân v ọc theo hàng trên ả ới từng vùng của ả ộ ế ả ạ ạ nh, c ng các k t qu l i t o thành kế ả ủ ể t qu c a đi m ảnh trung tâm.
  • 13. 13 Hình 2.2 Quy tắc nhân chập ma trận lọc kernel Ma trậ ầ ợ n đ u vào I đư c nhân với ma trận lọc (phần xám ở hình trái) để ạ t o thành ma tr u ra O. ậ ầ n đ Trên thực tế, hai phép lọc ả ậ nh là tương quan (correlation) và tích ch p (convolution). Với phép tương quan, ma tr c trư ậ ọ n l c sẽ ợ đư ợt đi và nhân vớ ừ i t ng vùng của ả ớ nh như trên. Tuy nhiên v i phép tích chập, ma tr c xoay ận lọc sẽ ợ đư 180 độ ả ề (theo c chi u ngang và dọ ớ ự ệ c) trư c khi th c hi n nhân. 2 phép toán này là tương đương khi ma tr c đ ậ ọ n l ố ứ i x ng. Với mỗi phép lọc ta có những ma trận lọc (Kernel) khác nhau, không có một quy đị ụ ể ệ ị ớ ậ nh c th nào cho vi c xác đ nh M. Kích thư c ma tr n M là m t s ộ ố ẻ l . Ví dụ: 3x3, 5x5. Khi nhân các phần tử tương ứ ớ ữ ng v i nhau (gi a pixel, các điểm lân cận – các thành phầ ố n trong kernel), đ i v i các ph có m t s ớ ần t nh thì s ử ở ạ c ẽ ộ ố ị pixel b khuyết, lúc này, có nhiều cách giải quyết như bỏ ộ qua, chèn thêm m t (một số) hàng, c t mang giá tr c b t, ho c t ộ ị ặ o 0 h ằng giá trị ầ g n nhấ ặ ạo mộ ố t đ i xứng gương ở ạ ả c nh nh. M b l ột số ộ ọc làm mịn ảnh: a, Lọc trung bình (Normanlize Box Filter): Đây là b t. Nó đư a trên ý tư ộ ọ ả ấ l c đơn gi n nh ợ ự ự c xây d ng d ởng tính giá trị ộ m t điể ả ằ m nh b ng trung bình c nh xung quanh nó. ộ ể ả ng các đi m Ma tr c c a l ận lọ ủ ọc trung bình có dạng: 1 1 1 ... 1 1 1 1 ... 1 1 . . . ... 1 _width.K_height 1 1 1 ... 1 K K       =       (2.1) Cách lọ ờ ợ c này thư ng đư c áp dụ ả ng cho làm trơn nh vẫn muốn giữ ạ l i biên không bị ờ m .
  • 14. 14 Hình 2.3 Kết quả sau khi lọc trung bình [8] Ưu điểm: +Đơn giản trong tính toán + n Ả ạ ộ nh đ t đ trơn mị Khuyế ể t đi m: +Không hoàn toàn loại bỏ ợ đư c nhi u s ễ ẻ u, các pixel đơn l (nhiễ ẽ ả ớ ế nh hư ng đ n giá trị trung bình củ ậ a các pixel lân c n. +Độ ắ ủ s c nét c a ảnh kém +Đ tương ph ộ ản thấp b, L c Gauss (Gaussian Filter): ọ B l l ộ ọ ợ c Gauss đư c cho là bộ ọc hữu ích nhấ ợ t, đư c thực hiện bằng cách nhân chập ả ầ nh đ u vào với một ma trận lọ ộ c Gauss sau đó c ng chúng lại để ạ t o thành ả ầ nh đ u ra. Ý tư i đi ởng chung là giá trị ỗ m ểm ảnh sẽ ụ ộ ph thu c nhiề ể u vào các đi m ảnh ở gần hơn là các điể ả m nh ở xa. Trọng số của sự phụ thuộc đượ ấ c l y theo hàm Gauss (cũng đượ ử ụ ậ c s d ng trong quy lu t phân phối chuẩn).
  • 15. 15 Hình 2.4 Sơ đồ phân phối Gauss [8] Gi m ả ử ả s nh là m t chi ộ ề ể u. Đi ảnh ở ẽ ọ trung tâm s có tr ng số ớ l n nhấ ể t. Các đi m ả ở ẽ ọ ố ả ầ ả ừ ớ nh càng xa trung tâm s có tr ng s gi m d n khi kho ng cách t chúng t i điểm trung tâm tăng lên. Như vậy điể ầ m càng g n trung tâm sẽ càng đóng góp nhiều hơn vào giá trị ể đi m trung tâm. Trên th c t , vi c l a trên hàm Gauss 2 chi ự ế ệ ọc ảnh dự ều (ngang và dọc). Phân phối chuẩn 2 chiều có thể ể bi u diễ ớ ạ n dư i d ng: ( ) ( )2 2 2 2 2 2 _y _ _ _ 0( , ) y x x y x G x y Ae µ µ σ σ − − − − + = (2.2) Trong đó μ là trung bình (đ nh), σ2 phương sai c ỉ là ủ ế ố a các bi n s x và y Tham s n c n l ố μ ế ị quy t đ nh tác dụng của b c Gauss lên ộ ọ l ả ộ ớ nh. Đ l ủa ma trậ ọc (kernel) c c l ầ ợ n đư ựa chọ ủ ộ n cho đ r ng.
  • 16. 16 Hình 2.5 Kết quả sau khi lọc Gauss [8] c, L c trung v (Median Filter): ọ ị Phép lọc trung vị ợ cũng đư c thực hiện với các ma trận lọc. Tuy nhiên nó tính trung v các giá tr c và s ị ấ t t cả ị ể đi m ảnh trong vùng ma trận lọ ử ụ d ng trung vị này cho giá trị ể đi m trung tâm. Mộ ề t đi u khá thú vị ớ là v i các cách l trên, giá tr ọc ở ị điể ợ ớ ể ằ ặ ớ ị ộ ể m trung tâm đư c tính m i (có th b ng ho c khác v i giá tr m t đi m trong vùng ma trận lọc), còn với phép lọc trung vị, giá trị đi m trung tâm luôn đư ể ợc thay b m ằng ộ ị t giá tr điểm ảnh trong bứ ả c nh đ y, phương pháp l ầu vào. Do vậ ọc này có khả ạ ỏ ễ năng lo i b nhi u muối tiêu (salt-and-pepper noise) khá tốt. Có mộ ể ầ ợ t đi m cũng c n đư c chú ý là phép lọc trung bình và lọc Gauss là phép lọc tuyến tính, nhưng phép lọ ị ả ộ c trung v không ph i là m t phép lọ ế c tuy n tính.
  • 17. 17 Hình 2.6 Kết quả sau khi lọc trung vị [8] Các kĩ thuậ ạ t dò c nh Khái quát về ạ dò c nh Các cạnh là những vùng ảnh mà có độ ả tương ph n cao. Vì thế ạ các c nh thường xuyên xu n t ất hiệ ạ ữ ị ợ ấ i nh ng v trí đư c th y như là nh ng đư ữ ờng bao quanh vật trên hình ảnh, xác đị ạ ờ nh c nh thư ng đượ ổ c dùng ph biế ữ n trên nh ng hình ảnh có nhiều vật thể khác nhau khi ta mu n chia hình ng vùng khác nhau có ch ố ảnh thành nhữ ứa vật thể. Biểu diễn một hình ảnh bằng các cạnh thì có nhi n l ều thuậ ợi hơn là làm gi u ả ợ m đư c dữ liệ ảnh trong khi vẫ ả n đ m bảo gi c nh ng thông tin v ữ ợ đư ữ ề ậ v t thể trên ảnh. Các cạnh ch u có t n s ủ ế y ầ ố ế ạ ử ụ ọ ầ ố cao nên theo lý thuy t, dò c nh s d ng l c t n s cao bằ ằ ng phương pháp Fourier hay b ng cách nhân chập hình nh v ả ới những Kernel thích hợp trong miền không gian Fourier. Trên th c t c th ự ế, dò cạ ợ nh đư ực hiện trong mi c hi ền không gian vì thự ện dễ dàng hơn và thường cho ra kết quả ố t t hơn. Cách xác đị ạ nh c nh: vì các cạ ứ ớ nh tương ng v i sự chiếu sáng mạnh, t ó ừ đ có thể làm n t lên b a hình ổi bậ ằ ạ ng cách tính toán đ o hàm củ ảnh. Có thể thấy rằng vị trí của cạnh có thể ợ ớ ợ đư c ư c lư ng với giá trị ớ l n nhất củ ạ a đ o hàm bậc nh t hay v ấ ớ ể i đi m uốn củ ạ a đ o hàm bậc 2. Vì th tìm m ế ẽ s ộ ậ ể t kĩ thu t đ tính toán đạ ủ o hàm c a một hình ảnh 2 chiều. Những Kernel dùng cho việc xác đị ạ ợ nh c nh đư c tính dựa theo công thức trên cho phép tính u. Có 2 ti toán đạo hàm b t hình nh 2 chi ậc m t và b a m ộ ậc hai củ ộ ả ề ến trình chung tính đạ ậ o hàm b c một trong mộ ả t hình nh hai chiều, dò cạnh Pretwitt compass và dò cạnh gradient. Các phương pháp dò cạnh a, Phương pháp Robert Cross:
  • 18. 18 Theo Roberts, để ị ạ xác đ nh c nh ta cầ ự ấ ạ ợ ạ n d a vào các tính ch t sau: c nh đư c t o ra cầ ợ n đư c xác định rõ, nề ủ n c a ảnh có ít nhiễ ờ ộ u và cư ng đ của cạnh được xác định bằng mắ ờ t thư ng. Với nhữ ặ ng đ c tính đó, Roberts đưa ra phương trình sau:    , =    ,    , =    ,     ,   +    ,     ,   (2.3) . Vớ ờ ộ i x là cư ng đ sáng ban đầu của ả ạ ợ nh, z là đ o hàm tính đư c và i, j là tọ ộ a đ củ ể a đi m ảnh. Kết quả tính được sẽ thay đổ ờ ộ i cư ng đ sáng theo đường chéo. Phương pháp này đơn giản, nhân kernel nh a giá tr ỏ và chỉ chứ ị nguyên, tuy nhiên, phương pháp này nhạy cảm với nhiễu Để ạ ử ụ ậ ả ố ớ dò c nh s d ng phương pháp Robert Cross, ta nhân ma tr n nh g c v i 2 nhân kernel: 1 0 0 1     −   và 0 1 1 0     −   Đặt  (  , ) là điểm ảnh gốc và (  , ) là điểm ả ợ ợ nh đư c thu đư c khi nhân ma trận ảnh với nhân kernel 1, (  , ) là điểm ả ợ nh thu đư c khi nhân ma trận ảnh với nhân kernel 2. Gradient có thể ợ ị đư c xác đ nh bằng công thức:  (  , ) = (  , ) =   +   (2.4) Hướ ủ ợ ị ứ ng c a gradient đư c xác đ nh theo công th c:  (  , ) =   (  , ) (  , )     (2.5) Hình 2.7 Lọc biên theo phương pháp Robert Cross [8] b, Phương pháp Sobel: Sobel đưa ra ý tưở ả ớ ng nhân nh v i ma trậ ẳ ớ n đ ng hư ng 3x3 dùng để tính xấp xỉ ự s thay đổi giá trị ủ ờ ộ c a hàm tính cư ng đ sáng. ở ừ t ng điể ả ế ả ủ m nh, k t qu c a phương pháp Sobel gồm có hướ ộ ớ ủ ự ệ ng và đ l n c a vector. Phương pháp này d a vào vi c nhân ma trận ảnh vớ ừ i t ng ma trận chỉ ớ hư ng dó đó không yêu cầu hiệu năng tính
  • 19. 19 toán cào. M t khác, tính toán x ặ ấp xỉ hướng đưa ra kế ả t qu thô, đặc biệt là với những ả ự ổ ờ ộ nh có s thay đ i cư ng đ ánh sáng mạnh. Phương pháp này sử ụ d ng ma trận 3x3 nhân với ma trận ảnh gố ể c đ tính toán xấp xỉ ự s thay đổi theo phương ngang ho c phương d ặ ọ ả c. Ta coi A là nh gốc, Gx và Gy là nh sau khi nhân t ả ừ ể ng đi m ảnh v p x ới các phép tính xấ ỉ ề theo chi u ngang và dọ ứ c tương ng. Gx = 1 0 1 2 0 2 1 0 1 −     −     −   *A và Gy = 1 2 1 0 0 0 1 2 1           *A Nhân kernel của Sobel có thể đượ ủ c tách thành tích c a phép nhân trung bình và nhân xấp xỉ.  có thể được viết lại như sau: 1 0 1 2 0 2 1 0 1 −     −     −   - = [1 2 1] [1 0 1] Tại mỗ ể i đi m ảnh, kết quả tính gradient xấ ể p xĩ có th được kết hợ ể p đ tính giá trị gradient sử ụ d ng công thức: =     +   (2.6) Từ đó, ta tính đượ ớ c hư ng của gradient: =        (2.7) Với công thức này, khi  = 0 thì phía bên ph i c a c c s ả ủ ạnh dọ ẽ sáng hơn phía bên trái. Hình 2.8 Lọc biên theo phương pháp [8] c, Phương pháp Canny: Phương pháp dò cạnh Canny là kĩ thuậ ữ ệ t tách d li u cấu trúc từ ảnh và giả ợ m lư ng dữ liệu cần xử lí. Nó được sử dụng rộng rãi trong nhiều hệ thống thị giác máy tính. Với những hệ thống khác thị giác máy tính khác nhau, việc áp dụng phương pháp này không có nhi u khác bi ề ệ ạ ể t. Do đó, phương pháp dò c nh này có th giải quyết đượ ề c nhi u lĩnh vực khác nhau. Phương pháp dò cạnh này có một vài đặc tính sau: Xác đ c là xác đ ịnh cạ ớ ố nh v i sai s thấ ứ p, t ịnh hế ấ ả ạ ả t t t c các c nh có trong nh
  • 20. 20 Điểm ả ộ ạ nh thu c c nh dò đượ ẽ c s nằm ở trung tâm của cạnh. Cạnh của ảnh sẽ ch c ỉ ợ đư đánh dấu mộ ầ ễ t l n và nhi u trong nh s ả ẽ không được xác đị ạ nh là c nh. Thuật toán dò cạnh Canny đượ ớ c chia thành 5 bư c sau: Dùng lọ ị c Gaussian làm m n ả ể nh đ loại bỏ ễ nhi u Kết quả dò cạnh rất nhạy với nhiễ ệ u, do đó vi c lọc nhiễu của ảnh là cần thiế ể t đ tránh s m. L ự ị xác đ nh nhầ ọ ợ c Gaussian đư c dùng để ị làm m n ả ằ ả nh nh m làm gi m ả ớ ủ ễ ệ ạ nh hư ng c a nhi u lên vi c dò c nh. Dướ ờ i đây là phép nhân làm m : B= 2 4 5 4 2 4 9 12 9 4 1 5 12 15 12 5 159 4 9 12 9 4 2 4 5 4 2                 *A (2.8) Tìm hướ ờ ộ ng cư ng đ sáng củ ả a nh Cạnh trong ả ể nh có th chỉ ấ b t kì hướng nào, dó đó thuậ ử ụ t toán Canny s d ng 4 ma trận lọc để xác định hướng ngang, dọc và chéo của ảnh sau khi làm mờ. Từ gradient của cạ ợ nh tìm đư c ta có thể xác đị ớ nh hư ng và l độ ớn: =    +   = 2    ,  (2.9) V d ới G có thể tính bằng cách sử ụng hàm hypot và atan2 là hàm artangent. Góc chỉ ớ hư ng của c c làm tròn thành 4 giá tr ạ ượ nh đ ị: 0o, 45o, 90o hoặc 135o. Áp dụng giá trị ớ l n nh t không c nh c ấ ố đị ể ị nh đ xác đ ạ ớ ể nh. Bư c này dùng đ làm nhỏ ạ c nh. Sau khi tính toán hư nh dò đư ớ ạ ng, c ợ ẫ c v n còn mờ ầ ị , do đó, c n xác đ nh giá tr t t ra v trí này có s i l ị ớ l n nhấ ại từng vị để trí khác nhau chỉ ị ự ổ thay đ ớn nhất về giá trị cườ ộ ng đ . Thuật toán cho từ ể ả ng đi m nh là: So sánh độ rõ c a c ủ ạnh ở ể đi m ả ệ ạ ớ nh hi n t i v i điể ả m nh ở hư ng dương và hư ớ ớng âm. N rõ c a c i là l i các ế ộ u đ ủ ạnh ở điểm ảnh hiện tạ ớn nhất khi so sánh vớ điểm ảnh khác trong mặt nạ ớ cùng hư ng, thì giá trị ợ này đư c giữ nguyên, n u không thì ế giá trị ẽ ị ổ s b thay đ i. Áp dụ ỡ ớ ể ị ng ngư ng trên và dư i đ xác đ nh cạnh. Sau các bước kể trên, điểm ảnh biể ễ ạ ể u di n c nh th hiện rõ hơn trên ảnh. Tuy nhiên, một vài điểm ảnh bị gây ra bởi nhiễu và sự thay đ n còn. Đ ổ ắ ẫ i màu s c v ể giải quyết v l ấ ề n đ này, ta cần lọc ra nhữ ể ng đi m ảnh có giá trị gradient nhỏ và giữ ại những điể ả m nh có giá tr n b ị ớ l n. Vi c th ệ ợ c này đư ực hiệ ằng cách áp d ng trên ụ ỡ ng ngư và dư n cao hơn, nó đư ớ ế ị ủ ể ả i. N u giá tr c gradient a đi m nh lớ ỡ n hơn ngư ợc đánh dấ ể u là đi m ảnh mạnh. Nếu giá trị đó nằm giữ ỡ ỡ ớ a ngư ng trên và ngư ng dư i, nó
  • 21. 21 được đánh giá là điể ả ế ể m nh y u. Đi m ảnh có giá trị nhỏ ỡ hơn ngư ng dướ ị i thì b bỏ quá. Hai giá trị ỡ ngư ng này phụ ộ ờ đặ thu c vào ngư i t. Xác đị ạ ở nh c nh b i hysteresis: loại bỏ ạ ợ các c nh không rõ và không đư c nối với cạnh rõ. Cuối cùng, điểm ả ủ ạ nh c a c nh có cường độ ớ l n sẽ nằm trên cạnh và khi đó cạ ẽ nh s đư nh. Tuy nhiên, đi ợ ấ ừ ả c trích xu t t ể ả m nh thuộ ạ ặ ể ả c c nh ho c đi m nh thuộc cạnh do nhiễu sinh ra vẫ ể ợ n còn. Đ thu đư c kết quả chính xác, nhữ ể ng đi m ảnh có xác suấ ấ t th p cần đượ ạ c lo i bỏ. Hình 2.9 Lọc biên theo phương pháp Canny [8] Kĩ thuật hình thái học (Morphological technique) Sau khi sử ụ ệ d ng phương pháp phát hi n c p t ạnh, từ đó sẽ tiế ục sử ụ d ng phương pháp Đóng Hình Thái (Morphological Closing). Mụ ủ c đích c a phương pháp này là đ đó giúp làm rõ, n t các đư ể loại bỏ ễ ừ ả ầ ừ nhi u t hình nh đ u vào và t ổi bậ ờng đáng quan tâm hơn. Trích l c biên (Boundary extraction). ọ ảnh Tô đầy vùng (Region fill). Trích l c các thành ph n liên thông (Extracting connected components). ọ ầ Làm mỏ ố ợ ng đ i tư ng trong ảnh (Thinning). Làm dày đ i tư ố ợ ả ng trong nh (Thickening). Tìm xương đố ợ i tư ng trong ảnh (Skeletons). Cắt tỉ ố ợ a đ i tư ng trong ảnh (Pruning). Hình thái h c là m t thu t x c, g ọ ộ ật ngữ xuấ ứ ừ ọ t sinh h ắn liền v i hình dáng và c ớ ấu trúc của sinh vật. Trong xử lý ả ộ ỹ nh, nó là m t k thuật xử lý ả ự nh d a theo hình dáng và c a m u ra ấu trúc của ả ị ủ nh. Trong phương pháp này, giá tr c ỗi pixel của ả ầ nh đ đư so sánh pixel tương nh đ ợ ị c xác đ nh nhờ ứ ủ ả ng c a ầu vào với pixel lân cận của chúng. Bằng cách l a ch ự ọn kích thướ ạ c và hình d ng của pixel láng giềng, ta có thể xây d t nh ự ợ ng đư c phép toán hình thái rấ ạy cảm với các hình d c bi t trong ạ ặ ng đ ệ ả ầ nh đ u vào. OpenCv cung cấ ờ p cho ngư i dùng mộ ứ t phương th c nhanh chóng thu th lý ận tiệ ể n đ ực hiện xử ảnh hình thái. Phép biến đổi ảnh hình thái cơ bản là dilation(giãn co nở ) và erosion( ), chúng được ứ ụ ạ ộ ng d ng trên ph m vi r ng như lọc
  • 22. 22 nhiễu, tách bạ ố ch các đ i tư i tư ợ ố ố ng, n i các đ ợng riêng rẽ trên ảnh, và còn thường đư ng đ ợ ể ữ ờ c dùng đ tìm nh ng nơi có cư ộ độ ớ sáng l n hay nhỏ ố ỗ ( các h , l ) trên ả ể ề ớ ủ ứ ả nh đ tìm chi u hư ng c a b c nh. Phép giãn nở và co là hai phép toán hình thái tổng quát và đây là hai quá trình ngư , các đư t đ i tư ợ ả ở c nhau. Trong phép gi n n ờ ủ ng biên c a mộ ố ợng trong ả ợ ộ ở ờ nh đư c c ng thêm các pixel trong khi đó phép co các đư ng biên của mộ ố t đ i tư t đi. S ng các pixel đư ợ ả ạ ng nào đó trong nh l i bị ỏ ớ b b ố ợ lư ợc cộng thêm hay bớ ỏ ố ợ t đi kh i đ i tư ng ở trong ảnh phụ thuộ ớ c vào kích thư c và hình dáng của cấu trúc phần tử đư c dùng đ ợ ể xử lý. Sự giãn nở có xu hướ ở ng m rộng các đường biên, đư i có xu hư ờng viề ự ạ n, các vùng, trong khi s co l ớ ả ặ ậ ạ ỏ ng gi m ho c th m chí lo i b các vùng nhỏ. Quá trình ăn mòn và giãn nở có th t h i v ể ế k ợp lạ ới nhau hoặc có thể thực hiện một cách song hành để tạo nên những phương pháp xử lý hình thái phức t s ạ ả p hơn. Vì c ự co lẫn giãn nở đều là phép toán phi tuyến, nên chúng không có nghị ả ch đ o, vì v y có th n phép này sau phép kia trên cùng m ậ ể ự th c hiệ ột vùng của một ảnh. Nếu thực hiệ ớ n quá trình co trư c rồi tiế ế p đ n quá trình giãn nở thì ta có phép mở (Opening). Trườ ợ ế ả ng h p n u nh là nhị phân thì phép toán mở ớ có khuynh hư ng làm m i kích ấ ố ợ ớ t các đ i tư ng có kích thư c nhỏ ở trong ả ổ nh mà không làm thay đ thư ng các đ i tư ớ ạ c và hình d ố ợng lớn. Nếu phép giãn nở ự th c hiệ ớ n trư c, ti là ế ế ợ p đ n phép co thì quá trình đư c gọi đóng(Closing).Trong bài toán này sẽ ử ụ ẽ s d ng phép toán đóng.Phép đóng s liên kế ố ợ t các đ i tư ng xít lại với nhau và do vậ ớ y nó có khuynh hư ng lấ ầ p đ y các lỗ hổng nhỏ và làm nhẵ ờ n các đư ng nét của một đố ợ i tư ng bằng cách lấ ầ p đ y những khe nhỏ. + Với phép toán Giãn nở (dilation): Giãn n là quá trình ch ở ập của những bức ả ả ẽ nh (hay vùng nh), ta s gọi chúng là A, v g ới một số nhân, ta ọi chúng là B. Nhân có thể ề có nhi u hình dạng và kích thước khác nhau, nhưng chỉ ộ ể có m t đi m gọ ể i là đi m neo duy nhấ ờ t. Thông thư ng, nhân là m tâm. Nhân có th ột khố ỏ ớ ể i hình vuông hay hình đĩa nh v i đi m neo nằm ở ể đư n đ và nó có ý nghĩa trong thu ợ ậ c nh ị ẫ nh như là m u hay mặ ạ t n ậ ở t toán giãn n là để đị ị ầ ử nh v ph n t có giá t c quét trên toàn r l ị ớn nhấ ợ t. Khi nhân B đư ảnh, từ đó sẽ tính toán được giá trị pixel l t c ớn nhấ ủa vùng ảnh đượ ớ ở c kh p b i nhân B và thay thế pixel xác định bởi điểm neo bằng giá trí lớn nhất đã tính toán. Điều này khiến cho miền sáng củ ứ ả ợ ở ộ ồ a b c nh đư c m r ng như đ hình sau. Chính việc mở ộ r ng này là g a thu ốc củ ật ngữ “quá trình giãn nở”. Phép giãn nở ợ đư c mô tả ằ b ng biể ứ ọ u th c toán h c sau: (2.10) Trong đó:
  • 23. 23 A: Ma trậ ể n đi m ảnh của ảnh nhị phân. B: Là ph u trúc. ần t c ử ấ Hình 2.10 Quá trình chập trong phép toán Giãn nở Phép giãn nở (Dilation) ảnh sẽ cho ra m t t ộ ập điểm ả ộ ạ nh c thu c D(i), b n hoàn toàn dễ dàng thấy rằ ộ ổ ữ ng đây là m t phép t ng gi a A và B. A sẽ ậ là t p con của D(i). Chú ý: Nh n xét này ậ không toàn toàn đúng vớ ờ i trư ng h c ợp phần tử ấu trúc B không có gốc (Origin) hay nói cách khác là g c (Origin) ố mang giá trị 0. Ví dụ Tôi có ma trậ ể n đi m ảnh Isrc, ma trậ ể n đi m ảnh sau phép giãn nở ầ ử Idst và ph n t cấu trúc B. Ứ ớ ứ ở ầ ợ ặ ầ ử ấ ể ng v i công th c trên, ta l n lư t đ t ph n t c u trúc vào các đi m ảnh có giá trị ủ 1 c a ma tr nh Isrc. K t qu c là ma tr ậ ể n đi m ả ế ả ợ thu đư ậ ể n đi m ảnh Idst. + Với phép toán co (erosion): Phép toán co là quá trình ngược lại với giãn nở. Hành vi của toán tử co thì tương đương v ng đ ớ ệ ị ị ị i vi c đ nh v giá tr nhỏ ấ ủ ờ nh t c a cư ộ sáng trên vùng tương ứ ớ ậ ng v i nhân ch p vào. Phép toán co tạo ra một ả ớ ừ nh m i t ả ố nh g c theo thuât toán sau: khi nhân B quét trên toàn tính toán pixel có giá tr ảnh, ta ị ỏ ấ nh nh t khớp với B và thay th giá tr ế ị pixel ả ợ ị nh đư c xác đ nh bở ể i đi m neo với giá trị ỏ ấ ể nh nh t (đ
  • 24. 24 chính xác, pixel trên u ra s ả ầ nh đ ẽ đặ ị ằ ị t giá tr b ng giá tr nhỏ ấ nh t của những pixel khở ở ả ầ i b i nhân trên nh đ u vào). Công thức Trong đó: A: Ma trậ ể n đi m ảnh của ảnh nhị phân. B: Là u trúc. c phần tử ấ Hình 2.11 Quá trình chập trong phép toán co Phép co nh s ả ẽ cho ra m t t ộ ậ ể p đi m ảnh c thuộ ế ạ c A, n u b n đi chuyển phần tử ấ c u trúc B theo c, thì B nằ ố ợ m trong đ i tư ng A. E(i) là một tập con của tập ả ị nh b co A. Chú ý: Nh n xét này ậ không toàn toàn đúng vớ ờ ợ i trư ng h p phầ ử ấ n t c u trúc B không có gốc (Origin) hay nói cách khác là g c (Origin) mang giá tr ố ị 0. Ví dụ Tôi có ma nh sau phép co trậ ể n đi m m ảnh Isrc, ma trậ ể n đi ả c Idst và ấu trúc ph n ầ tử B. Ứ ớ ứ ở ầ ợ ặ ầ ử ấ ể ả ng v i công th c trên, ta l n lư t đ t ph n t c u trúc vào các đi m nh có giá trị ủ 1 c a ma tr nh Isrc. K t qu c là ma tr ậ ể n đi m ả ế ả ợ thu đư ậ ể n đi m ảnh Idst.
  • 25. 25 MỘT SỐ KĨ THUẬT THUẬT TOÁN PHÁT HIỆ Ậ Ạ Ố N VÀ NH N D NG Đ I TƯỢNG Tổng quát chung khái niệ ậ ạ ố ợ m nh n d ng đ i tư ng Nhận d ng là m ạ ố ợ ng đ i tư ột thuật ngữ chung để ả ộ mô t m t tập hợp các nhiệm vụ thị giác máy tính có liên quan liên quan đến việc xác đ nh các đ i tư ị ố ợng trong ảnh k . ỹ thuật số Phân lo p c ại hình c d ả ế nh liên quan đ n việ ự ớ đoán l ủa mộ ố ợ t đ i tư ng trong một hình ả ị nh. Đ nh vị ậ v t thể đề ậ đế c p n vi nh v c nhi ệ ị c xác đ ị ủ trí c a một hoặ ều đối tượng trong mộ ả ẽ t hình nh và v bounding box xung quanh chúng. Phát hiệ ố n đ i tư u đ i tư ợng kết hợ ệ ụ ự ệ ộ p hai nhi m v trên và th c hi n cho m t hoặ ề c nhi ố ợng trong hình nh. ả Từ đó có thể phân bi a ba nhi ệt giữ ệm vụ ị ả th giác máy tính cơ b n trên thông qua input và output của chúng như sau: Phân loạ ả i hình nh: Dự đoán nhãn củ ộ ố ợ a m t đ i tư ng trong m t hình ộ ảnh. Input: M i m ột hình ảnh vớ ộ ố ợ t đ i tư ng, chẳng hạn như mộ ứ ả t b c nh. Output: Nhãn l p (ví d c nhi u s i nhãn l ớ ụ ộ : m t hoặ ề ố ợ nguyên đư c ánh xạ ớ t ớp). Đị ị đố ợ ị ị ệ ệ ủ ố ợ ả nh v i tư ng: Xác đ nh v trí hi n di n c a các đ i tư ng trong nh và cho biế ị ủ t v trí c a chúng bằng bounding box. Input: M ng, ch t b ột hình ảnh có một hoặc nhiề ố ợ u đ i tư ẳng hạ ộ n như m ức ảnh. Output: Mộ ặ ề ợ ị ở ọ ộ ề ộ t ho c nhi u bounding box đư c xác đ nh b i t a đ tâm, chi u r ng và chiều cao. Phát hi n di n c ệ ố ợ ị n đ i tư ng: Xác đ nh vị ệ trí hi ệ ủ ố ợ a các đ i tư ng trong bounding box và nhãn c t hình ủ ố ợ a các đ i tư ng nằ ộ m trong m ảnh. Input: M ng, ch t b ột hình ảnh có một hoặc nhiề ố ợ u đ i tư ẳng hạ ộ n như m ức ảnh. Output: Mộ ặ ề t ho c nhi u bounding box và nhãn cho m i bounding box. ỗ Một số đị ấ nh nghĩa khác cũng r t quan trọ ạ ng trong computer vision là phân đo n đối tư ng (object segmentation), trong đó các đ i tư ợ ố ợng đượ ậ c nh n dạ ằ ng b ng cách làm n i b các pixel c ổ ật ụ thể ủ c a đố ợ i tư ng thay vì bounding box. Và image captioning kết hợp giữa các ki n trúc m ế ạng CNN và LSTM để ả đưa ra các lý gi i về hành động hoặ ộ c n i dung của một bức ảnh. Bên dư i là sơ đ ớ ồ ổ t ng hợ ụ ủ p các tác v c a computer vision:
  • 26. 26 Hình 3.12 Sơ đồ ổ t ng hợ ụ p các tác v Vision [9] Các thuậ ể ệ t toán chính đ phát hi n và nhận dạng đố ợ i tư ng Có rất nhi n t ều các thu c s ng và liên t c phát tri ậ ợ t toán đư ử ụ d ụ ể ối ưu. Đồng thời các thuật toán đề ẽ u s có các ưu nhược điể ẽ m riêng và s đượ ụ ừ c áp d ng vào t ng yêu cầu của các bài toán khác nhau. Dưới đây là sơ đồ về các thuật toán được phát triển trong th a trên các lý thuy t v ời gian gầ ự n đây d ế ề Deep Learning: Hình 3.13 Quá trình phát triện của thuật toán phát hiện và nhận dạ ố ợ ng đ i tư ng [9] Dựa vào sơ đồ ể ớ ọ trên ta có th chia làm l p các mô hình h - chính là R CNN và YOLO Lớp các mô hình họ R-CNN R-CNN (regions with CNN features) là lớ ị ặ p các mô hình xác đ nh vùng đ c trưng d i ựa trên các mạ ợ ng CNN đư c phát triển bở Ross Girshick và các cộng sự. Lớp các mô hình này g m 3 mô hình chính là R ồ - - - CNN, Fast R CNN và Faster RCNN đượ ế ế ệ ụ đị c thi t k cho các nhi m v nh vị ậ ể ậ v t th và nh n diện vậ ể t th .
  • 27. 27 a, R-CNN (2014): R-CNN được giới thiệu lầ ầ n đ u vào 2014 bởi Ross Girshick và các cộng sự ở UC Berkeley m t trong nh ng trung tâm nghiên c u th i trong bài ộ ữ ứ ầ u AI hàng đ ế ớ gi báo Rich feature hierarchies for accurate object detection and semantic segmentation. Nó đượ ộ c coi là m t trong những ứng dụng nề ầ ủ ạ n móng đ u tiên c a m ng nơ ron tích ch i v ng. Cách ti ậ ố p đ ới v , phát hi ấ ề đị n đ nh vị ệ ạ ố ợ n và phân đo n đ i tư ếp cận đã đượ ứ ộ c ch ng minh trên các b dữ liệu điể ẩ ạ ợ ế ả ố ấ m chu n, đ t đư c k t qu t t nh t trên b d - d - ộ ữ liệu VOC 2012 và bộ ữ liệu phát hiệ ố ợ n đ i tư ng ILSVRC 2013 gồm 200 lớp. Kiế ủ n trúc c a R-CNN gồm 3 thành phần đó là: Vùng đề xuấ ả ụ t hình nh (Region proposal): Có tác d ng tạ ấ o và trích xu t các vùng đề ấ ứ ậ ể ợ ở xu t ch a v t th đư c bao b i các bounding box. Trích lọ ặ ấ ặ ậ c đ c trưng (Feature Extractor): Trích xu t các đ c trưng giúp nh n diện hình ảnh từ ạ các region proposal thông qua các m ng deep convolutional neural network. Phân loại (classifier): D a vào input là các features ự ở ầ ph n trướ ể ạ c đ phân lo i hình ả ứ ề nh ch a trong region proposal v đúng nhãn. Kiế ủ ợ ả ể ồ n trúc c a mô hình đư c mô t trong bi u đ bên dưới: Hình 3.14 Kiến trúc mô hình R- [9] CNN M d ột kỹ thuậ ợ t đư c sử ụ ể ng đ đề xuất các region proposal hoặc các bounding box chứa các đ i tư ố ợng tiềm năng trong hình nh đư ả ợ ọ c g i là “selective search”, các region proposal có th c phát hi ể ợ đư ện bởi đa dạ ữ ậ ng nh ng thu t toán khác nhau. Nhưng điểm chung là đề ự u d a trên tỷ ệ ữ l IoU gi a bounding box và ground truth box. Trích xuấ ặ t đ c trưng về ả b n chất là một mạ ọ ng CNN h c sâu (deep learning), ở đây là AlexNet, mạng đã giành chiế ắ ộ ạ ả n th ng trong cu c thi phân lo i hình nh ILSVRC- 2012. Đầu ra của CNN là một vectơ 4096 chiề ả u mô t nội dung của hình ảnh được đưa đến một mô hình SVM tuyến tính để ạ phân lo i. Đây là một ứ ụ ng d ng tương đ i đơn gi ố ản và dễ hiểu của CNN đố ớ ấ i v i v n đề object localization và object detection. Mộ ợ ể t như c đi m của phương pháp này là chậm,
  • 28. 28 đòi h u module đ ỏ ả ợ ề i ph i vư t qua nhi ộ ậ c l p trong đó có trích xu c trưng t ấ ặ t đ ừ ộ m t mạng CNN học sâu trên từng region proposal đượ ạ c t o bở ậ i thu t toán đề ấ xu t vùng ch a ứ ảnh. Đây là một vấ ề ầ n đ chính c n giải quyết vì bài vi t mô t ế ả mô hình hoạt độ ả ợ ề ấ ỗ ả ạ ờ ể ử ng trên kho ng 2000 vùng đư c đ xu t cho m i hình nh t i th i đi m th nghiệm. Thêm mộ ợ ể t như c đi m của thu t toán R c hi ậ -CNN là không thể thự ện trong thời gian th c vì ph i m i hình ự ả ất khoảng 47 giây cho mỗ ảnh thực nghiệm. b, Fast R-CNN (2015) Hình 3.15 Kiến trúc mô hình Fast R-CNN [9] Nh CNN: ậ ữ n ra nh ng hạ ế ồ n ch t n tạ ủ ậ i c a thu t toán R- Training qua m t pipeline g c chu ộ ồm nhiề ớ ế u bư c: Pipeline liên quan đ n việ ẩn bị và vận hành ba mô hình riêng biệt. (pipeline: Là m t t c x lý liên ti u vào là d ộ ợp hợ ớ p các bư ử ếp nhậ ầ n đ ữ liệu (ảnh, âm thanh, các trường dữ liệ ả ế ả ự ở u) và tr ra k t qu d báo output). Chi phí training tốn kém v ng bounding box và th n luy ề ố ợ s lư ời gian huấ ện: Mô hình huấn luy n m t nhi ệ ột mạng CNN học sâu trên rấ ều region proposal cho mỗi hình ảnh nên rấ ậ t ch m. Phát hi ng ch ệ ố ợ n đ i tư ậ ố ộ ử ể đả m: T c đ x lý không th m bảo realtime. Trư t bài báo đã đ tăng t ớ ộ c đó m ề ấ ể xu t phương pháp đ ốc kỹ ậ ợ thu t đư c gọi là mạng tổng hợp kim tự - tháp Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition, hoặc SPPnets vào năm 2014. Phương pháp này đã tăng t c đ ố ộ ấ ờ ề trích xu t features nh lan truy n thuậ ộ ớ đệ n trên b nh m. Đi m đ ể ộ ủ ử ụ ộ ể t phá c a Fast R-CNN là s d ng m t single model thay vì pipeline đ phát hiện region và classification cùng lúc. Kiến trúc c a mô hình trích xu t t t t p các region proposals làm ủ ấ ừ ứ b c ảnh mộ ập hợ đầ ợ ề ạ ộ u vào và đư c truy n qua m ng deep CNN. M t pretrained-CNN, chẳng hạn VGG- d - 16, được sử ụ ể ng đ trích lọc features. Phần cuối của deep CNN là một custom layer được gọi là layer vùng quan tâm (Region of Interest Pooling - RoI Pooling) có tác d ng trích xu t các features cho m ụ ấ ột vùng ảnh input nhấ ị t đ nh. Sau đó các features được kết bởi một lớp fully connected. Cuối cùng mô hình chia thành hai đầu ra, một đầ ự u ra cho d đoán nhãn thông qua mộ ộ t softmax layer và m t
  • 29. 29 đầ ự u ra khác d đoán bounding box (kí hiệu là bbox) dựa trên h i qui tuy n tính. ồ ế Quá trình này sau đó được lặ ạ p l i nhiề ầ ỗ ộ ả u l n cho m i vùng RoI trong m t hình nh. Kiế ủ ợ ắ ớ n trúc c a mô hình đư c tóm t t trong hình dư i đây: Hình 3. - 16 Kiến trúc single model Fast R CNN [9] Ở ớ ầ ụ ộ ạ bư c đ u ta áp d ng m t m ng Deep CNN để ấ trích xu t ra feature map. Thay vì warp image của region proposal như ở R-CNN ta sẽ xác đị ị nh ngay v trí hình chiếu c i ủa của region proposal trên feature map thông qua phép ch ếu RoI projection. Vị trí này s i v i v trí trên c truy ẽ ố tương đ ớ ị ảnh gố ế c. Sau đó ti p tụ ền output qua các layer RoI pooling layer và các Fully Connected layers để ợ thu đư c RoI feature vecto. Sau đó k đư ế ả đầ ẽ t qu u ra s ợc chia làm 2 nhánh. 1 Nhánh giúp xác định phân ph a 1 vùng quan tâm RoI thông qua hàm softmax ối xác su t theo các class c ấ ủ và nhánh còn xác đ a đ ịnh tọ ộ ủ c a bounding box thông qua hồi qui các offsets Mô hình này nhanh hơn đáng k đoán, tuy nhiên v ể ả ề c v huấn luyện và dự ẫn cần một tập hợp các region proposal đượ ề c đ xuất cùng với mỗi hình ả ầ nh đ u vào. c, Faster R-CNN (2016): Kiến trúc mô hình đã đư n hơn n ợ ả ệ c c i thi ữ ề a v cả ố ộ ấ ệ t c đ hu n luy n và phát hiện đượ ề c đ xuấ ở ộ t b i Shaoqing Ren và các c ng sự ạ t i Microsoft Research trong bài báo năm 2016 có tiêu đề Faster R CNN: Towards Real Time Object Detection - - with Region Proposal Networks. Dị ớ ch nghĩa là “Faster R-CNN: Hư ng tới phát hiệ ố ợ n đ i tư ng theo th t khu v ờ ự ớ ạ ề ấ i gian th c v i các m ng đ xu ực”. Kiế ợ n trúc đư c thi t k t và tinh ch ế ế để đề ấ xu ỉnh các region proposals như là một phần c n luy ủa quá trình huấ ện, đư ng đ ợ ọ ạ c g i là m ề xuất khu vực (Region Proposal Network), hoặ ợ c RPN. Các vùng này sau đó đư c sử ụ d ng cùng với mô hình Fast R-CNN trong một thiết kế mô hình duy nhất. Những cải tiến này vừa làm giảm số lượng region proposal vừ ố a tăng t c hoạ ộ t đ ng trong thời gian thử ệ nghi m mô hình lên g i gian th c v i hi t t t nh t. T là 5fps trên m ần thờ ự ớ ệu suấ ố ấ ố ộ c đ ột GPU. Mặc dù là một mô hình đơn lẻ ấ ế ế ợ duy nh t, ki n trúc này là k t h p của hai modules: Mạ ề ng đ xuất khu vực (Region Proposal Network, viết tắT là RPN). Mạng CNN để đề ấ ạ ố ợ ầ xu t các vùng và lo i đ i tư ng c n xem xét trong vùng. Fast R trích xu t các features t các region proposal và tr -CNN: Mạ ể ng CNN đ ấ ừ ả ra các bounding box và nhãn.
  • 30. 30 Cả hai modules hoạ ộ t đ ng trên cùng một output của một mạng deep CNN. Mạng RPN hoạ ộ ộ ế ạ t đ ng như m t cơ ch attention cho m ng Fast R-CNN, thông báo cho mạng thứ hai về nơi cần xem hoặc chú ý. Kiế ủ ợ ổ n trúc c a mô hình đư c t ng kết thông qua sơ đồ ớ bên dư i: Hình 3. - 17 Kiến trúc mô hình Faster R CNN [9] Ở ạ ớ ử ụ ộ ạ ể ạ ộ giai đo n s m s d ng m t m ng deep CNN đ t o ra m t feature map. Khác v R- ới Fast CNN, kiến trúc này không tạo RoI ngay trên feature map mà sử ụ d ng feature map làm đ xác đ ầ ể u vào đ ịnh các region proposal thông qua một RPN network. Đ i feature maps cũng là đ ồ ờ ng th ầu vào cho classifier nhằ ạ m phân lo i các v t th a region proposal xác c t ậ ể ủ c đị ợ nh đư ừ RPN network. RPN hoạ ộ t đ ng bằng cách lấ ầ y đ u ra c a m t m ng pretrained deep CNN, ch ủ ộ ạ ẳng hạn như VGG-16, và truyền feature map vào một mạng nhỏ và đưa ra nhiều region proposals và nhãn dự đoán cho chúng. Region proposals là các bounding boxes, dựa trên các anchor boxes hoặc hình dạ ợ ị ớ ợ ng đư c xác đ nh trư c đư c thiết kế để tăng tốc và cải thiệ ả n kh năng đề xuất vùng. Dự đoán c a nhãn đư ủ ợ ể c th hiệ ớ n dư i dạng nhị phân cho biết region proposal có xuất hiện vật thể hoặc không. Một quy trình huấn luyện xen kẽ ợ đư c sử dụng trong đó cả hai mạng con được đào tạo cùng một lúc. Điều này cho phép các tham số ủ trong feature dectector c a deep CNN đượ ỉ ả ụ ộ c tinh ch nh cho c hai tác v cùng m t lúc. V - ị trí Neo đóng vai trò quan trọng trong Faster R CNN.Mỗi một mỏ neo tương ứ ớ ấ ặ ị ủ ể ạ ị ng v i 1 box. c Trong u hình m c đ ch c a Faster R-CNN, có 9 đi m neo t i v trí c i v a hình ủa hình y 9 neo t ảnh.Biểu đ sau đây cho th ồ ấ ạ ị ủ trí (320,320) c ảnh có kích thước (600,800).
  • 31. 31 Hình 3.18: Các kích thướ ỉ ệ ủ c t l c a mô hình [9] Ba màu đ c kích thư ạ ệ i di n cho ba tỷ ệ ặ l ho ớc: 128x128, 256x256, 512x512. Hãy ch n ra các h Ba h u cao chi ọ ộ ỏ p / neo màu đ . ộp có tỷ ệ l chiề ều r ng l ộ ầ ợ n lư t là 1: 1, 1: 2 và 2: 1. N v m ếu chọn một ị trí ở ỗi sải chân là 16, sẽ có các vị trí 1989 (39x51). Điều này dẫ ế n đ n hộp 17901 (1989 x 9) để xem xét. Kích thước tuyệ ố ỏ ớ t đ i nh hơn so v i sự kết hợp của cửa sổ trượt và kim tự tháp. Hoặc có thể lý do đây là lý do tại sao nó có ph o hi ạm vi bả ểm tốt như các phương pháp hiện đạ ặ ở i khác. M t sáng đây là ta có thể ử ụ s d ng m t khu v ạ ề ấ ng đ xu ự ể c, phương pháp trong Fast R-CNN, đ giảm đáng k lư ể ố s ợng. Lớp các mô hình họ YOLO Hình 3.19 Quá trình nhận dạ ố ợ ng đ i tư ng mô hình họ YOLO [9] Đố ớ ấ ả i v i t t c các thu t toán phát hi ậ ệ ố ợ n đ i tư ng trước đó sử dụng các vùng để bản đị ố ợ ả ạ ẽ a hóa đ i tư ng trong nh. M ng này s không tập trung vào toàn bộ hình ảnh hoàn chỉnh. Thay p trung vào các ph n c a hình vào đó, chỉ ậ t ầ ủ ảnh có xác suất cao
  • 32. 32 ch t th ứa vậ ể. YOLO hoặc You Only Look Again là m t toán phát hi ột thuậ ệ ố n đ i tượ ề ng khác nhi u so vớ ậ ở ầ ộ ạ i các thu t toán các ph n trên. Trong YOLO, m t m ng chập duy nhất d n các h i h t cho các h ự đoá ộp giớ ạn và tính xác suấ ộp này. Cách YOLO hoạ ộ t đ ng là ta sẽ ụ ch p thu nhận ảnh và chia nó thành mộ ớ t lư i SxS, trong m i ta l y các h i h ỗ ớ i lư ấ ộp giới hạn m. Ứng với m i h ỗ ộp giớ ạn, m ng s ạ ẽ đưa ra xác su t các l p và giá tr n.Các h i h n mà có xác su ấ ớ ị ộ bù cho h p giới hạ ộp giớ ạ ất lớp trên giá trị ngưỡng yêu cầu sẽ đư n và đư ợ ọ c ch ợ ử c s dụng để đị ị đố nh v i tượng trong ảnh. Ưu và nhượ ể ủ c đi m c a YOLO: + YOLO là thu t toán có t i giây) so v i các ậ ố ộ ỗ c đ nhanh hơn (45 khung hình m ớ thuật toán phát hiệ ố ợ n đ i tư ng khác + Hạn ch a thu t toán YOLO là s ế ủ c ậ ẽ ặ g p khó khăn khi xác đị ố ợ nh các đ i tư ng có kích thước nhỏ ả ụ ậ trong nh. d Ví : Thu t toán có thể ặ ệ g p khó khan trong vi c phát hiện m u này là do h ộ ề t đàn chim. Đi ạn chế ề v không gian củ ậ a thu t toán. S - SD máy dò Multi Box Cũng giố ầ ế ế ầ ủ ng như h u h t các ki n trúc object detection khác, đ u vào c a SSD là tọa độ bounding box của v t th ậ ể (hay còn gọi là offsets của bounding box) và nhãn của vật thể chứa trong bounding box. Điểm đặ ệ ố c bi t làm nên t c độ của SSD model là mô hình sử ụ d ng một mạng neural duy nhấ ế t. Cách ti p cận của nó dựa trên việc nhận di t output shape 3D c ện vật th trong các features map (là m ể ộ ủa một mạng deep CNN sau khi b phân gi i khác nhau. ỏ ố ộ các fully connected layers cu i) có đ ả Mô hình sẽ ạ t o ra m i các ô vuông g i là grid cells trên các feature map, m ộ ớ t lư ọ ỗi ô đượ ọ ộ ừ ủ ỗ ị ộ ợ ợ ặ c g i là m t cell và t tâm c a m i cell xác đ nh m t t p h p các boxes m c đị ể ự ả ậ ể ạ nh (default boxes) đ d đoán khung hình có kh năng bao quanh v t th . T i thời điểm dự ạ báo, m ng neural sẽ trả ề v 2 giá tr i xác su ị ố đó là: phân ph ất nhãn của vật thể chứa trong bounding box và m a bounding ột tọ ộ ọ a đ g i là offsets củ box. Quá trình huấn luyện cũng là quá trình tinh chỉ ấ nh xác su t nhãn và bounding box về ớ đúng v i các giá trị ground truth input của mô hình (gồm nhãn và offsets bounding box). Thêm nữa, network được kết hợ ở p b i rấ ề t nhi u các feature map vớ ữ ộ i nh ng đ phân giải khác nhau giúp phát hi t th ệ ợ n đư c nh ng v ữ ậ ể ạ ớ đa d ng các kích thư c và hình d - ạng. Trái với mô hình fast R CNN, SSD bỏ qua bước tạo mặt nạ region proposal network để đề ấ ậ xu t vùng v t thể ấ . Thay vào đó t t cả quá trình phát hiện vật thể và phân lo n trong cùng 1 m ại v t th c hi ậ ể ợ đư c thự ệ ạng. Bản thân tên của mô hình - Single Shot MultiBox Detector cũng nói lên được rằ ử ụ ề ng mô hình s d ng nhi u khung hình box v và phân ới t scales khác nhau nh ỷ ệ l ằm nhận di n vùng v ệ ật thể loại v t th , gi m thi ậ ể ả ểu đượ ớ ạ c bư c t o region proposal network so với fast R-CNN nên tăng tốc độ xử lý lên nhiều lần mà tốc độ ử x lý vẫ ả n đ m bảo. Bên dướ ả i là b ng so sánh tố ộ c đ running của các mô hình object detection. Kiến trúc mô hình:
  • 33. 33 Hình 3. C 20 ấu trúc mạng của SSD [9] SSD dựa trên m t ti n trình lan truy a m t ki n trúc chu n (ch ộ ế ền thuận củ ộ ế ẩ ẳng hạn VGG16) để ạ ộ ố ồ ề ở ạ ớ t o ra m t kh i feature map output g m 3 chi u giai đo n s m. Ta gọi kiến trúc mạng này là base network (tính từ input Image đến Conv7 trong hình 3). Sau đó ta s t ẽ hêm những kiến trúc phía sau base network để tiến hành nhận diện vật thể như phầ ồ ợ n Extra Feature Layers trong sơ đ . Các layers này đư c diễn giải đơn gi n như sa ả u.
  • 34. 34 MÔ HÌNH YOLO TRONG BÀI TOÁN NH N D Ậ Ạ Ố Ợ NG Đ I TƯ NG Giớ ệ ậ i thi u khái quát thu t toán You only look once (YOLO) là mộ ể ộ t mô hình CNN đ detect object mà m t ưu đi ng mô hình cũ. Th ể ổ ộ ề m n i tr i là nhanh hơn nhi u so vớ ữ i nh ậ ể ạ m chí có th ch y tốt trên nhữ ầ ng IOT device như raspberry pi. Đ u vào mô hình là mộ ứ t b c i ả ố nh, đ với bài toán object detection, ta không chỉ phải phân loại đượ ứ ả c object trên b c nh mà còn ph trí c ả ị i xác đ nh vị ợ đư c vị ủ ố ợ a đ i tư ng đó. Object Detection có khá nhi u ề ứng dụng, ví dụ như h ng theo dõi ngư ệ ố th ời dân, từ đó có thể giúp chính quyề ị n xác đ nh được t i ph n tr ộ ạm lẫ ốn ở đó hay không, hoặc hệ th lái, ống xe tự cũng ph c ngư đâu t ả ị ợ i xác đ nh đư ờ ờ ở i đi đư ng ừ ế ị ể đó đưa ra quy t đ nh di chuy n tiếp theo. Hình ng trong khung hình 4. K 21 ết quả nhận dạ ố ợ ng các đ i tư Có một s t v i m i l n ch ố ớ hư ng ti p c ế ậ ể ả n đ gi i quyế ấ ề ồ n đ , đ ng thờ ỗ ầ ạy tốn rất nhiều th i gian. Vì v y ta ờ ậ sẽ liệt kê các ý tưở ể ả ế ng đ gi i quy t bài toàn object detection. Chia trí ảnh thành nhiều box, mỗi box các bạn sẽ detect object trong box đó. Vị c c ủa object chính là tạ ộ o đ ủa box đó. Thay vì chia thành t ng box, ừ ta s s d ẽ ử ụng một thuật toán để lựa chọn những region ứ ụ ng viên (ví d như là thuậ ứ t toán Selective Search), các vùng ng viên này các bạn có thể ở ữ tư ng như là nh ng vùng liên thông với nhau trên kênh màu RGB, sau đó
  • 35. 35 với mỗi vùng ứng viên này, ta dùng model để ạ phân lo i object. có m t s ta ộ ố mô hình xây d ng theo ki ự ểu này như RCNN, Fast RCNN Rấ ợ ể t rõ ràng, như c đi m của các phương pháp trên là tốn rất nhiề ể u tài nguyên đ tính toán cho mội vùng trên một bức ảnh, và do đó không thể ạ ch y realtime trên các thi t b ế ị ế y u. Tổng quát mô hình củ ậ a thu t toán M s d ộ ể ạ ỉ t trong nhưng ưu đi m mà YOLO đem l i đó là ch ử ụng thông tin toàn bộ bức ảnh một lần và dự đoán toàn bộ ứ ố ợ object box ch a các đ i tư ng, mô hình được xây d ng theo ki ự ểu end n hoàn toàn b - - to end nên được huấn luyệ ằng gradient descent. Sau đây, tôi sẽ ế ề trình bày chi ti t v mô hình YOLO Grid System Ảnh đượ ậ c chia thành ma tr n ô vuông 7x7, m i ô vuông bao g ỗ ồm một t p các thông ậ tin mà mô hình ph i d ả ữ đoán. Đố ợ ấ ứ ủ ố ợ ầ ị ằ i tư ng duy nh t mà ô vuông đó ch a. Tâm c a đ i tư ng c n xác đ nh n m trong ô vuông nào thì ô vuông đó chứ ố a đ i tư ng đó. Ví d ợ ụ ủ tâm c a chai cocacola nằm trong ô vuông màu xanh, do đó mô hình phả ự i d đoán đượ ủ c nhãn c a ô vuông đó là chai nư c. Lưu ý, c ớ ho dù phần ảnh của chai coca có nằm ở ô vuông khác mà tâm không thuộc ô vuông đó thì vẫ ứ ế n không tính là ch a chai coca, ngoài ra, n u có nhiều tâm nằm trong m t ô vuông thì ộ ta vẫn chỉ gán một nhãn cho ô vuông đó thôi. Chính ràng buộc m a m ỗi ô vuông chỉ chứ ộ ố ợ ợ ể t đ i tư ng là như c đi m của mô hình này. Nó làm cho ta không th detect nh ng object có t ể ữ ầm nằm cùng một ô vuông. Tuy nhiên ta có thể tăng grid size từ 7x7 lên kích thướ ớ ể ể c l n hơn đ có th detect đư nh đ ợ ề ớ ủ ả c nhi u object hơn. Ngoài ra, kích thư c c a ầu vào phả ộ ố ủ i là b i s c a grid size.
  • 36. 36 Hình a bounding box thu 4.22 Xác đị ủ nh tâm c ộ ố ợ c đ i tư ng Mỗi ô vuông chịu trách nhiệm dự đoán 2 boundary box củ ố ợ ỗ a đ i tư ng. M i boundary box dữ ứ đoán có ch a object hay không và thông tin v trí c ị ủa boundary box gồm trung tâm boundary box củ ố ợ a đ i tư ng và chiều dài, rộng của boundary box đó. Ví vụ ô vuông màu xanh cần dự đoán 2 boundary box chứa chai coca như hình minh họa ở dướ ộ i. M t điề ầ u c n lưu ý, lúc cài đặt ta không dự đoán giá trị pixel mà c i chu ần phả ẩn hóa kích thước ả ề nh v đoạn từ [0-1] và dự đoán độ lệch của tâm đố ợ ế ứ ố ợ ụ ữ ị ủ i tư ng đ n box ch a đ i tư ng đó. Ví d , ta thay vì d đoán v trí pixel c a đi đoán đ ểm màu trắ ầ ng, thì c n dự ộ ệ l ch a, b trong ô vuông chứa tâm object.
  • 37. 37 Hình 4. D l 23 ự đoán độ ệ ủ ứ ch c a 2 box ch a object T c ổng hợp lại, với mỗi ô vuông ta ần dữ đoán các thông tin sau: Ô vuông có chứ ố ợ a đ i tư ng nào hay không? D l ự đoán độ ệch 2 box chứ ớ a object so v i ô vuông hiện tại Lớp của object đó Như vậ ớ ỗ y v i m i ô vuông ta cần dữ đoán một vector có (nbox+4*nbox+nclass) chiều. Ví d i v ụ, ta cần dự ớ ố đoán 2 box, và 3 l p đ ới mỗi ô vuông thì chúng sẽ có một ma trận 3 chiều 7x7x13 chứ ộ ầ a toàn b thông tin c n thiết. CNN cho YOLO object detection: Ta đã cần biết phải dự đoán nh ng thông tin nào đ ữ ối vớ ỗ i m i ô vuông, điều quan trọng ti ng m ếp theo là xây dự ột mô hình CNN có cho ra ouput với shape phù hợp theo yêu cầu của ta, tức là gridsize x gridsize x (nbox+4*nbox+nclass). Ví dụ ớ v i gridsize là 7x7 là m i object t ỗi ô vuông dự ạ đoán 2 boxes, và có 3 lo ất thì ta cả phả ầ i c n output có shape 7x7x13 từ mô hình CNN
  • 38. 38 Hình ng c 4.24 Quá trình hoạ ộ t đ ủa mô hình CNN vớ ố ợ i đ i tư ng đã cho [7] YOLO sử ụ ể ự ở ỗ d ng linear regression đ d đoán các thông tin m i ô vuông. Do đó, ở ố ẽ ử ụ ấ ạ ả ớ ả ầ layer cu i cùng ta s không s d ng b t kì hàm kích ho t nào c . V i nh đ u vào là 448x448, mô hình CNN có 6 t ng max pooling v ầ ới size 2x2 sẽ ả gi m 64 lần kích thước ả ố nh xu ng còn 7x7 ở output đầ ồ u ra. Đ ng thờ ử ụ i thay vì s d ng tầng full connected ta ở các t i cùng, ầng cuố có th thay th ể ế ằ b ng tầng 1x1 conv với 13 feature maps để ễ output shape d dàng cho ra 7x7x13. Hàm lỗi Loss Function: Ta đã định nghĩa đượ ữ ầ ả ự c nh ng thông tin mà mô hình c n ph i d đoán, và kiến trúc của mô hình CNN. Bây giờ là lúc mà sẽ đị ỗ nh nghĩa hàm l i. YOLO sử ụ ộ ỗ ữ ự ể ộ ỗ d ng hàm đ l i bình phương gi d đoán và nhãn đ tính đ l i cho mô hình. Cụ ể ộ ỗ ổ th , đ l i t ng sẽ là t i con sau: ổng củ ộ ỗ a 3 đ l Độ ỗ ủ ệ ữ ạ ủ l i c a vi c d đoán lo i nhãn c a object Classifycation loss - Độ ỗ ủ ự ạ ộ l i c a d đoán t o đ cũng như chiề ộ ủ u dài, r ng c a boundary box - Localization loss Độ ỗ ủ l i c a ô vuông có chứa object nào hay không - Confidence loss Ta mong muốn hàm lỗi có chức năng sau. Trong quá trình huấn luyện, mô hình sẽ nhìn vào nh ng ô vuông có ch ữ ứ ớ ủ a object. Tăng classification score l p đúng c a object đó lên. Sau đó, cũng nhìn vào ô vuông đó, tìm boundary box tố ấ t nh t trong 2 boxes đư a boundary box đó lê ợ ự ủ c d đoán. Tăng localization score c n, thay đổi thông tin boundary box đ n đúng v ể ầ g ớ ố ớ ữ i nhãn. Đ i v i nh ng ô vuông không chứa object, gi m confidence score và s n classification score và ả ẽ ế không quan tâm đ localization score c a nh ủ ững ô vuông này. Tiế ẽ ầ ợ ế ủ ộ ỗ p theo, ta s đi l n lư t vào chi ti t ý nghĩa c a các đ l i trên. a, Classification Loss Ta chỉ tính classification loss cho nhữ ợ ng ô vuông đư c đánh nhãn là có object. Classification loss t i nh ạ ữ ợ ng ô vuông đó đư c tính bằ ỗ ỗ ữ ng đ l i bình phương gi a nhãn đư đoán và nhãn đúng c ợ ự c d ủa nó.
  • 39. 39 (4.1) Trong đó: + obj i I : b c l i b ằng 1 nế ợ u ô vuông đang xét có object ngư ạ ằng 0 + ˆ ( ) i p c : là xác suất có điề ệ ủ u ki n c a lớp c tại ô vuông tương ứ ự ng mà mô hình d đoán Hình 4. D 25 ự đoán box củ ố ợ a đ i tư ng [7] Ví dụ, trong hình minh họa ở ạ trên, ta có 2 object t i ô vuông (dòng, cột) là (2,1) và (3,4), ch a object là hình tam giác và hình t classification loss ứ ứ ề ộ ỗ c giác đ u. Đ l i chỉ tính cho 2 object này mà ko quan tâm đến nhữ ặ ng ô vuông khác. Lúc cài đ t ta cần lưu ý phải nhân vớ ộ i m t mask để triệt tiêu giá trị lỗi tại những ô vuông ko quan tâm. b, Localization Loss: Localization loss dùng để tính giá trị ỗ l i cho boundary box đượ ự c d đoán bao gồm offset x, i nhãn chính xác c a ta. Các b y và chi u dài, r ề ộng so vớ ủ ạn nên lưu ý rằng, ta không tính toán trự ế ị ỗ ớ ủ ả ầ ẩ c ti p giá tr l i này trên kích thư c c a nh mà c n chu n dưới kính thước ả ề ạ ố ớ ọ ộ nh v đo n [0-1] đ i v i t a đ điểm tâm, và không dữ đoán trực tiế ể p đi m tâm mà ph i d ả ự đoán giá trị ệ l ch offset x,y so với ô vuông tương ứng. Việc chuẩ ớ n hóa kích thư c ảnh và dự đoán offset làm cho mô hình nhanh hộ ụ i t hơn so vớ ệ ự ị ặ ị i vi c d đoán giá tr m c đ nh. (4.2) Độ lỗi localization loss được tính bằ ổ ng t ng đỗ lỗi bình phương của offsetx, offsety và chi u dài, r ng trên t t c a object. T i m ề ộ ấ ả ứ các ô vuông có ch ạ ỗi ô vuông đúng, 2 2 0 ˆ (p ( ) ( )) s obj classification i i i c class i L p c I c ∈ = = − ∑ ∑
  • 40. 40 ta chọn 1 boundary box có IOU (Intersect over union) tốt nh t, r ấ ồ ộ i sau đó tính đ lỗi theo các boundary box này. Theo hình mình họa trên ta có 4 boundary box tại ô vuông đúng có vi n màu đ ề ỏ ọ , ta ch n 1 box tại m i. Còn ỗ ể ộ ỗ i ô vuông đ tính đ l box xanh đượ ỏ c b qua. Localization loss là đ i đ i trên. Do đó, ta c ộ ỗ l i quan trọ ấ ng nh t trong 3 loạ ộ ỗ l ần đặ ọ ố ộ ỗ t tr ng s cao hơn cho đ l i này. c, Confidence Loss: Confidence loss th a d a object so v ể ệ ộ ỗ hi n đ l i giữ ự ứ đoán boundary box đó ch ới nhãn thực tế ạ ộ ỗ ả ữ ứ t i ô vuông đó. Đ l i này tính nên c nh ng ô vuông ch a object và không chứa object. (4.3) Độ ỗ ộ ỗ ờ ủ ự ứ ớ l i này là đ l i bình phư ng c a d đoán boundary đó ch a object v i nhãn thực t i v ế ủ c a ô vuông tạ ị trí tương ng, ta lưu ý r ứ ằ ộ ỗ ng, đ l i tại ô vuông mà nhãn chứa object quan trọng hơn là độ ỗ ạ l i t i ô vuông không chứ ầ a object, do đó ta c n s d s ử ụng hệ ố lambda để cân bằ ề ng đi u này. T b ổng kết lại, tổng lỗi của ta sẽ ằng tổng củ ạ ộ ỗ a 3 lo i đ l i trên: (4.4) Dự đoán lớp và t boundary box sau quá trình training ọ ộ a đ Intersection over Union là ch c s chính xác c ỉ ố ợ s đánh giá đư ử ụ ể ộ d ng đ đo đ ủa Object detector trên t p ch này trong các Object ập dữ li th ệu cụ ể ặ .Ta hay g ỉ ố s Detection Challenge, dạng như PASCAL VOC challenge. Để ụ ợ ể áp d ng đư c IoU đ đánh giá mộ ấ ầ t object detector b t kì ta c n: Những ground-truth bounding box (bounding box đúng củ ố ợ a đ i tư ng, ví dụ như bounding box củ ố ợ ợ ằ a đ i tư ng đư c khoanh vùng và đánh nhãn b ng tay sử ụ d ng trong t p test.) ậ Những predicted bounding box được model sinh ra. Mi s d ễn là có hai tậ ề p bên trên, ta đ u có thể ử ụ ợ ng đư c IoU. Ta gi chỉ ữ ạ ữ l i nh ng boundary box mà có chứ ể ề a object nào đó. Đ làm đi u này, ta c l ần tính tích của xác xuấ ề t có đi u kiện ô vuông thuộc về ớp i nhân với sác xuất ô vuông đó chứ ỉ a object, ch giữ ạ ữ l i nh ng boundary box có giá tr này l ị ớn hơn ngưỡng nhấ ị t đ nh. Mỗi object lại có thế có nhiều boundary box khác nhau do mô hình dự đoán. Để tìm boundary box t dùng thu t toán non ốt nh t các object, ta có th ấ ể ậ -maximal suppression để ạ ữ lo i nh ng boundary box giao nhau nhiều, t c là có IOU gi ứ ữ 2 boundary box lớn. Để ữ ầ tính IOU gi a 2 box ta c n tính diện tích giao nhau giữa 2 box chia cho tổng diệ ủ n tích c a 2 box đó.
  • 41. 41 Dướ ụ ự ề ộ i đây là ví d tr c quan v m t ground-truth bounding box và một predicted bounding box. Hình 4. M v 26 ột ví dụ ề phát hiện biển báo Stop từ hình nh ả [7] Predicted bounding box đượ ẽ ằ c v b ng màu đ , trong khi đó Ground ỏ -truth được vẽ bằng màu xanh lá. Mục tiêu của ta là tính toán Intersection over Union giữa hai bounding box này. Công thức tính toán Inersection over Union có thể đượ ị c đ nh nghĩa thông qua: Hình Công th 4.27 ứ ỉ ệ c tính t l IoU [7] Nhìn vào công th n s ức này, bạ ẽ ấ ả th y IoU đơn gi n là m t t ộ ỉ ệ l . Ở ử ố t s ta tính toán area of overlap n ch - diện tính phầ ồng lên nhau a predicted bounding box giữ và ground-truth bounding box. Phần m u s ẫ ố là area of union n tích ph - diệ ần h p - ợ hay đơn giản hơn là diện tích mà hai bounding box này đang chiế ệ m. Chia di n tích phần ch ng (giao) cho di n tích ph ồ ệ ần h p s ợ ẽ thu được giá trị ố mà ta mong mu n - Intersection over Union (IoU). Như đã nói ùng và đánh nhãn ở ợ - trên, ground truth bounding box đư c "khoanh v bằng tay". Khi training một object detector, bạn cần một tập dữ liệu. Tập dữ liệu này đượ ấ c chia thành (ít nh t) hai nhóm: M d ột training set sử ụ ể ng đ huấn luyện object detector. M b ột testing set dùng trong việ ủ c đánh giá object detector c a ạn.
  • 42. 42 Cả training và testing set đều bao gồm: Bản thân các hình ảnh. Các bounding box tương ứng củ ỗ ả a m i object trong nh. Bounding box này chỉ đơn gi nh nh. ả ạ độ ủ ữ n là các to (x, y) c a hình ch ậ ả t bao xung quanh object trong Những bounding box trong training và testing set được khoanh vùng và đánh nhãn bằ ậ ọ ng tay, v y nên đó là lý do ta g i là ground-truth. Mụ ố c đích cu i cùng là từ các hỉnh ảnh training và bounding box, xây dựng nên object detector, và sau đó đánh giá performance trên testing set. Nế ể u có đi m số IoU > 0.5, prediction sẽ được coi là một "good" prediction. Nế ớ ừ u trư c đây t ng thực hiện bấ ặ t kì project machine learning nào, đ c biệt là classification, ch c h n ta s i predict nh ng class label t ắ ẳ ẽ ờ thư ng phả ữ ừ output của model là chính xác hay không chính xác. Các binary classification kiểu này có thể tính toán độ chính xác tương đối đơn giả ố n, tuy nhiên đ i v i bài toán object detection l i là m t câu chuy ớ ạ ộ ện khác. Trong thực tế, các toạ độ (x, y) của predict bounding box hầu như không th nào ể chính xác hoàn toàn v c - ới các toạ độ ủa ground truth bounding box. Chính vì thế, ta cầ ị ộ ạ ợ ể ở n đ nh nghĩa m t đ i lư ng đánh giá có th khen thư ng những predicted bounding box trùng kh p nhi ớ ều với ground-truth: Hình 4.28 Các đánh giá tỉ ệ l IoU [7] Như ta có thể thấy, predicted bounding box trùng khớp nhi u v ề ới ground-truth có đi cao hơn nh ể ố m s ữ ề ng box ít trùng. Đi u này khiến cho Intersection over Union trở ộ thành m t đ i lư ạ ợng tuyệt vời đ đánh giá các object detector. ể Ta không cần quan tâm đến sự trùng khớp chính xác c a các to ủ ạ độ (x, y), nhưng vẫ ố n mu n đảm bảo các predicted bounding box càng gần với ground IoU có th - - truth càng tốt ể tính đế ề n đi u này.
  • 43. 43 THUẬT TOÁN N D I CHAI NHẬ ẠNG LỖ Cấu trúc phần cứng của hệ thống: Tổng quan hệ thống Hình ng c 5. H 29 ệ thố ấ ầ u trúc ph n cứng Các chai nư c đưa vào h ớc sau quá trình chiế ắ ẽ ợ t rót và đóng n p s đư ệ thố ể ng ki m tra chấ ợ t lư ng trên băng t h ải. Trong ệ thống này có thể bao gồm các loại cảm biến h n ồng ngoại IR hay cảm biế tiệm cận hoặ ể c cũng có th là cảm biến siêu âm sẽ có nhiệm vụ phát hiện sự xuất hiện của các chai nư c trư ớ ớc Camera. Khi mà các cảm biến này phát hi ng s ệ ệ ố n có chai đi qua, h th ẽ đồng thời kh ng camera thông ở ộ i đ qua Computer. Hình ả ợ ậ ả ộ nh đư c thu nh n thông qua các máy nh có đ phân giải và tố ộ c đ cao và giao tiếp với các phần mềm lập trình xử lý hay các công cụ thu nhận hình ảnh khác. Từ đó sẽ xây d ng nên m ự ột h i gian ệ thống xử lý ảnh dựa trên thờ thực v i m ớ ục đích xác định các l p chai ỗi trong phần nắ . Hình ng nh 5.30 Sơ đồ ầ các ph n cấ ủ u trúc chính c a hệ thố ận dạng
  • 44. 44 Chú thích: Khung mô hình Motor dẫ ộ n đ ng băng tải Motot gạ ỗ t cocacola l i Biế ở ả n tr : Ph n hồi v trí thanh g ị ạt Buồng t u sáng ố ệ ố ế i: Bên trong có camera và h th ng đèn led chi Đế đặt máy tính Chai Cocacola Thanh gạ ỗ t chai l i Băng tải H n ộ ệ p đi H x ệ ử lý ảnh trong hệ thống Hệ Camera Hình 5.31 Camera Basler Độ ả phân gi i (Resolution) 1920px x 1080px Kíc thướ ả ế c c m bi n (Sensor Size) 4,2mm x 2,4mm Cảm biến hình ảnh (Sensor Type) 1/3.7" CMOS Tố ộ c đ khung hình (Frame Rate) 26fps Interface (K t n ế ối) USB 3.0 Tiế ầ ị p đó ta c n xác đ nh các thông số yêu c u c ầ ủa Camera trong hệ th lý ống xử ảnh
  • 45. 45 Hình Vùng làm vi 5.32 ệc Field of View Ta có đư đã cho s ợc sensor size (SS) ử ụ ớ ệ ố d ng v i camera Basler trong h th ng là 2,4 mm. Từ đây là dựa vào quy tắ ồ c tam giác đ ng dạ ợ ng tính đư c giá tr tiêu c ị ự của ống kính Focal Length (FL): FL=WD*SS/FoV. Trong đó: + FoV (Field of View) là Diện tích vùng làm việc ki m tra mà Camera ể quan sát được m + Working Distance (WD): Là khoảng cách từ ặ ớ t trư c củ ế a lens đ n vùng đố ợ i tư ng n + Sensor size (SS): Là kích thước của cảm biế Việc ch n tiêu c ọ ự ủ c a ống kính sao cho đáp ng đư ứ ợc yêu cầu của luận văn sẽ phụ thuộc vào khoảng cách WD, WD trong th c t có th ng cách các k ự ế ể là khoả ỹ ự sư t ý thiết lập n u không b n v ế ị giới hạ ề ầ ph n c ng (k ứ ỹ ặ ố sư thích đ t camera cách đ i tượng bao nhiêu cũng đư c cũng có th ợ ặ c), ho ể ầ do yêu c u củ ầ a ph n cứ ầ ng là c n cách m t n m tra m ặ ề ặ ố ợ n đ t đ i tư ng cần kiể ột khoảng cách bao nhiêu đó. Trong ng bài lu này ta ví d ận văn này ụ ta sẽ đặt camera cách đ i tư ố ợ là chai cần nhận d ng kính FL là: ạng v i kho ớ ả ậ ị ự ủ ng cách là 250mm.V y giá tr tiêu c c a ố FL=   ×   =  × ,    = 1,18 mm T s ừ đây ta ẽ chọ ợ n đư c Lens phù h p v ợ ới bài toán
  • 46. 46 Hình ng c 5.33 Các thông số hoạ ộ t đ ủ ệ a Camera trong h thống b, H u sáng trong lu ệ thống chiế ận văn Hiệu quả của hệ thống xử lý ả ụ nh ph thuộc vào chất lượ ả ng hình nh thu được. Hình ả ấ ợ ệ ố ộ nh có ch t lư ng cao cho phép h th ng phân tích m t cách chính xác các thông tin t i nh t qu ừ đố ợ i tư ng kiể ạ m tra, đem l ững kế ả ậ đáng tin c y của hệ thống. Chất lượ ả ợ ng hình nh thu đư c trong hệ thố ử ả ụ ộ ng x lí hình nh ph thu c rất cao vào cấu hình ánh sáng (màu sắ ộ ờ ộ ợ ể ế c, góc đ , và cư ng đ ánh sáng đư c dùng đ chi u sáng), quyế ị ế t đ nh đ n chấ ợ t lư ng hình ảnh. Các thi t b m tra trong ế ị chiếu sáng nên t n c ng ki ố ộ ả i ưu hóa đ tương ph ủ ố ợ a đ i tư ể khi giảm thiểu độ tương phản củ ầ a các ph n còn lạ ờ i, nh đó cho phép hệ thống “nhìn thấy” rõ các v trí. Hình ị ả ố nh đ i tượng kiểm tra có độ tương phản cao sẽ ả đơn gi n hóa và c chính xác c nh v ải thiệ ộ n đ ủ ệ ố ợ a h th ng; ngư c lại hình ả ớ ộ ả i đ tương ph n thấp và phân bố ồ ề ỏ ánh sáng không đ ng đ u đòi h i nhiều th i gian và hi ờ ệu suất xử lý hơn. Cấu hình thi p ph ết bị chiếu sáng phù hợ ụ ộ thu c vào kích thướ ủ c c a các phần c n ki ầ ể ạ ấ ề ặ ầ ậ ủ ế m tra, hình d ng, tính ch t b m t, và các yêu c u kĩ thu t c a thi t b . V ị ới nhiều lựa chọn về bước sóng (màu sắ ớ c), vùng nhìn (kích thư c), và hình dáng tùy ch n có s n, thi ọ ẵ ết bị chiếu sáng có thể đượ ổ ể ợ c thay đ i đ phù h p theo yêu c . ầu ứng dụng cụ thể Xây dựng thuật toán phân lo i chai coca ạ Đố ớ ể ậ ạ ỗ ề ẽ i v i bài toán ki m tra nh n d ng l i trên dây chuy n đóng chai cocacola s có 2 giai đoạn chính: + Giai đoạn kiểm tra hình dáng chai (empty bottle) + Giai t xu c trong chai (filled bottle) đoạn chiế ấ ớ t nư Ở ụ ể ậ ẽ ậ ạ ứ ủ ệ ố trong c th lu n văn này tôi s t p trung vào giai đo n th hai c a h th ng là chai đoạ ế n chi t rót. Trong đó sẽ có 3 thành phần quan trọ ể ng đ kiểm tra và đưa ra lỗi:
  • 47. 47 + Nắp chai + Nhãn dán + Mự ớ ế c nư c sau khi chi t rót Từ các đề xuất trên của bài toán, sẽ có các phương pháp thuậ ể t toán sau đ giải quyế ố t và t i ưu bài toán Phương pháp thu 1: (Sử ậ ậ t thu t toán Template Matching) Thuật toán nhận dạng lỗ ự i chai d a trên Template Matching: S d ử ụng phương pháp khớp mẫu (Matching Template Method): Phương pháp khớ ẫ ộ ậ ể ồ p m u là m t kĩ thu t đ tìm các vùng tương đ ng củ ộ a m t hình ả ẫ ợ ọ nh m u đư c ch n có trong mộ ả ớ t hình nh l n hơn. Trong phương pháp này ta sẽ có 2 thành phần chính: + Source Image (Hình n): Hình ảnh nguồ ảnh đầu vào chứa đối tượng được quan tâm + Template Image (Hình ảnh mẫu): Hình ảnh bán vá trong quá trình phân tích sẽ đượ ể c dùng đ tìm kiếm so sánh với Source Image. Template Image sẽ ợ đư c “slide” (trượt) từ ả trái sang ph i, từ ố trên xu ng dưới trong Source Image để so sánh sự tương đồng với nhau và tạ ỗ ị i m i v trí, m i m t s ỗ ộ ố liệu sẽ đượ ể c tính toán đ thể hiện mứ ộ c đ phù hợp của Template. Phương pháp này sẽ chuyển về hình ảnh thang độ ạ ỗ ị ộ ị ẽ ợ ể xám, t i m i v trí, m t giá tr s đư c tính toán đ thể ệ hi n mức độ ố t t hay t i v ệ ạ t ị trí đó (ho c cũng có th ặ ể ể hi u là xét mức độ tương đồ ủ ả ả ớ ừ ự ủ ả ồ ng c a b n vá hình nh v i t ng khu v c c a hình nh ngu n). Dựa trên phương pháp trượt, giả sử ảnh đ u vào có kích thư ầ ớ ả c (WxH) và hình nh mẫu có kích thướ ả c là (wxh), thì hình nh đầ ẽ u ra (Result) s có kích thước (W-w+1, H-h+1).Nói một cách khác, v i giá tr trí c a T trên I, ta s giá tr ới mỗ ị ị v ủ ẽ ữ lưu gi ị số liệu trong ma trận kết quả thu đượ ỗ ộ ị ứ ộ ố c R. M i m t v trí (x,y) trong R ch a m t s liệu phù h p bi ợ ểu di n s ễ ự tương đồng. Để ự ệ ấ th c hi n Template Matching, Open CV cung c p function cv2.MatchTemplate(): Result= cv2.matchTemplate(source, template, method) Trong đó: source – hình ảnh chứa đ tư ối ợ ợ ng đư c quan tâm; template – “object patch” đượ ể ế c dùng đ tìm ki m trong source; method – phương pháp so sánh, gồm cv2.TM_CCOEFF, cv2.TM_SQDIFF, CV_TM_CCORR…; result th – ma tr n ch a k t qu tính toán t i m i v ậ ứ ế ả ạ ỗ ị trí để ể ệ hi n mức độ ợ phù h p c . ủa Template Sau khi nhậ ợ n đư c kết quả ợ thu đư c từ ậ ẽ ử ụ ma tr n R, ta s s d ng function cv2.minMaxLoc() minVal, maxVal, minLoc, maxLoc = cv2.minMaxLoc(matrix) Trong đó:
  • 48. 48 minVal, – maxVal giá trị nhỏ nhất và lớn nhất của matrix; minLoc, – t maxLoc ọa độ ủ c a giá tr minVal và maxVal trong matrix, ị ở ạ d ng (x, y). + Loc max (l ng t n nh ọ ứ c dãn): đáp ại từ ể ng đi m ảnh là giá trị ớ l ất sau quá trình x c d ếp hạng các giá trị ủ ể a đi m ảnh lân cận. Tác ụ ể ng: Tìm các đi m sáng nhất của ảnh + Loc min (lọc co): đáp ứ ạ ừ ể ng t i t ng đi m ả ị ỏ ấ ế nh là giá tr nh nh t sau quá trình x p h c ạng các giá trị ủ ể a đi m ảnh lân cậ ụ ể ố ấ ủ ả n. d Tác ng: Tìm các đi m t i nh t c a nh Sau đó lấ ị ủ ữ ậ ấ y giá tr này làm góc trên cùng phía bên trái c a hình ch nh t và l y (w, h) làm chi u cao c a hình ch ều rộng và chiề ủ ữ ậ nh t. Hình chữ ự nhât đó là khu v c mẫu của chúng ta.
  • 49. 49 *Thuậ ậ t toán quá trình nh n di n l ệ ỗ ắ i n p chai: Correction Accept Yes Áp dụng thuật toán Template matching If Area==Ref.Area Reject No Hình c thu nh ảnh đượ ận (Hình ả ợ nh đư c chuy n ể v thang xám) ề Tính toán diện tích các khu v ng ực đố ợ i tư đượ ế c liên k t (ROI) Lấy phần bù hình ảnh (Complement Image) Ả ị nh nh phân (Binary Image) Phân ngưỡng hình ảnh (Thresholding) Biểu di n các phép ễ toán hình học (Perform Morphological Hình 5.34 thu Sơ đồ ật toán của phương pháp Template Matching
  • 50. 50 Hình trên biểu diễn trên sơ đồ ố kh i là quá trình phân tích xử lý hình nh. Hình ả ảnh thu đượ ả ị ả c là hình nh có các giá tr màu xám trong kho ng 0-255. Giá trị 0 sẽ đại diện cho màu đen, giá trị 255 s n cho màu tr ẽ đại diệ ắng và ở giữa các giá trị ừ t 1 đế ẽ đạ ệ ữ ắ n 254 s i di n cho các màu xám khác nhau gi a đen và tr ng.Hình ảnh tiếp tụ ợ c đư c chuyể ổ n đ i thành hình ảnh nhị phân theo phương pháp áp dụng các ngư c đư ỡng phù hợ ự p.Khu v ợ ợ c quan tâm (ROI) region of interest đư c tính toán và sẽ được so sánh vớ ẫ i các m u ả ế ả ự ế ả nh tham chi u hoàn h o.D a trên k t qu so sánh này, vi p nh ệ ấ c ch ậ ạ ỏ đố ợ n hay lo i b i tư ng lỗ ẽ ợ ế ị i s đư c quy t đ nh. * Kế ả ủ ệ t qu c a vi c phân tích x lý hình ử ảnh Hình 5.4 cho thấy hình ảnh chuyển về thang màu xám thu đc (a), ả ị nh nh phân (b), ả ầ ả nh ph n bù (c) và nh sau khi trả ọ i qua các phương pháp l c nhiễ ể ộ u đ cho ra m t hình mẫu hoàn hảo (d).Hình c ch i thành ảnh mứ ợ ợ c xám thu đư c đư uyể ổ n đ ảnh nhị phân bằ ặ ng cách đ t các giá trị ngưỡng phù hợp.Khi đó khu vự ầ c ph n nắp sẽ đư n đ ợ ể c chuy ổ ị i thành vùng màu đen (vì có giá tr nhị ằ phân b ng 0) và các khu vực còn lạ ợ i đư c chuyể ổ n đ i thành vùng trắng ( vì có giá trị nhị phân bằng 1).Sau đó hình đư ảnh này sẽ ợ ể c chuy n thành lấy phầ ớ n bù như hình (c).V i các hình ảnh này sẽ bị nhiễu từ ảnh hưở ủ ng c a các môi trườ ầ ợ ạ ng ánh sáng và c n đư c lo i bỏ. Ta sẽ áp dụ ọ ể ng các phương pháp l c Sobel, Gauss,Median Filters… đ loại bỏ nhiễu của ảnh giúp cho hình ảnh rõ ràng hơn. Hình nh l 5.35 (a) Ảnh mẫ ợ u thu đư c (b) Ảnh nhị phân (c) Ả ấy ph n bù (d) ầ Ảnh sau l c nhi ọ ễu Hình p ảnh kết qu y ch t liên k t gi a hai thành ph ả trên cho thấ ỉ ồ bao g m mộ ế ữ ần nắ chai và ph n mác c p (tamper) và liên k ầ ủa nắ ết đó đượ ể c th hiện trong khu vực màu trắng của phần nắp.Khi đó khu v đư ự ầ ắ c ph n tr ng củ ắ a n p sẽ ợc mang ra tính toán.Ban đầ ộ ầ ẫ ố u m t ph n m u t t của chai sẽ ợ ệ ậ đư c đưa vào cho vi c thu nh n hình ả ế ớ ợ ự ệ ẫ nh tham chi u và các bư c phân tích bên trên đư c th c hi n cho m u hình ảnh chai cụ thể đó và đượ ế ể ạ ỏ c xét đ n đ lo i b nhiễu của hình ảnh kết quả như hình ảnh tham chi t quá trình ki m tra. ếu trong suố ể
  • 51. 51 Hình 5.36 (a) Ảnh thu đượ ị c b thiếu (thi p) (b) ếu nắ Ảnh nhị phân (c) Ảnh l y ph ấ ần bù (d) Ảnh sau lọc nhiễu Hình 5.37 (a) Ảnh thu dượ ị ế ế Ả ị Ả c b thi u ( thi u tamper) (b) nh nh phân (c) nh lấy phần bù (d) c nhi Ảnh sau lọ ễu Hình ảnh 5.5 và 5.6 cho ta th p chai ho ấy hình ảnh nắ ặc phần tem bên dướ ị i b thi u. ế Vì vậy, khu vự ợ ế ợ c đư c xét đ n (ROI) đư c tính toán và so sánh với khu vực của hình ả ế ế ả ệ ớ nh tham chi u và cho ra k t qu khác bi t quá l n. Khi đó thuật toán tiếp tục đượ ể ể c phát tri n đ hiể ị n th thông báo lỗi ra màn hình. Hình 5.38 (a) Ảnh thu đượ ị c b thiếu (N n tem b tách kh i nhau) (b) ắp và phầ ị ỏ Ảnh nh u ị Ả phân (c) nh l y ph ấ ần bù (d) Ảnh sau lọc nhiễ Hình 5.7 tách chia cho ta thấy ph n n ầ ắp và phần tem bên dưới bị khỏi nhau và bị thành 2 phần riêng biệt. Vì vậy trong trườ ợ ng h p này ROI đã bị chia làm hai thành phần khu vực khác nhau. D a ự trên các phân tích bên trên s t qu ẽ ế đưa ra k ả như hình 5.8. Hình nh thu nh 5.39: Ả ận bị ừ t chối do lỗi Để ợ ự ệ ố ể ờ ẽ ộ có đư c s chính xác trong h th ng ki m tra, ánh sáng môi trư ng s là m t thách th o ra thành ph c t ức lớn tạ ần nhiễu trong hình n s ảnh dẫ ế n đ ự ứ ph ạp trong
  • 52. 52 quá trình đứa ra việc phát triển các thuật toán cho phù h l ợp. Về cơ bả ể n đ ọ ợ c đư c tố ễ ờ i đa nhi u thì môi trư ng của dố ợ i tư ng cầ ợ ặ n đư c đ t trong không gian tối Phương pháp 2: Thuậ ử ụ ạ t toán s d ng Edge Detection (tìm biên c nh) Hình 5.40 thu t toán Edge Detection Sơ đồ ậ Thu nhận nh ả Ti lý ền xử (Lọc nhiễu) Phân đoạn ảnh (Tìm biên) Kĩ thuậ ọ t hình thái h c (Morphological techniques) Phát hiện các cạnh dọc của chai (Detection Vertical Lines) Phát hiệ ờ n các đư ng ngang (horizontal line) để xác đị ờ ắ ự ớ nh đư ng qua n p chai và m c nư c Xác đị ờ ẻ nh đư ng k ngang trung bình (Average Line) So sánh hiệu khoảng cách của đư ng trung bình và đư ờ ờng kẻ ngang mự ớ c nư c với giá trị khoảng cách chuẩn ban đầu Under fill level Over fill level Normal So sánh hiệu khoảng cách của đư ng trung bình và đư ờ ờ ẻ ng k đỉ ắ ớ ị ả nh n p v i giá tr kho ng cách chuẩ ầ n ban đ u Normal Unpacked Cap No cap Kho a ảng cách giữ hai đườ ọ ng biên d c Đ S
  • 53. 53 Thuậ ử ậ t toán x lý nh n dạng nắ ự ớ p chai và m c nư c trong chai: Công vi ng nh ệ ầ ể ệ ố c đ u tiên đ h th ận dạng phân loại c nắp chai và mự ớ c nư c đượ thực thi là xác định thuật toán nh là chai cocacola có t i trong ận dạng vật thể ồn tạ vùng ROI đang xét hay không.Bằng việ ậ c nh n dạ ợ ờ ng đư c các đư ng line thông qua các thu t toán ti n biên c ậ ề ạnh (edge detection), từ ẽ ị đó ta s xác đ nh các đường vertical có trong vùng ROI.Sử dụ ử ng toán t vecto Vec4i t ng vertical line ừ ờ các đư đã xác đ c trư c đ xác đ a đ ng cách đ ị ở ớ nh bư ớ ể ị ọ nh t ộ ả kho ể ừ ế t đó đưa ra k t quả có xuấ ệ t hi n chai trong khung hình ROI hay không.Bướ ế c ti p theo ta xác định các đư ng ngang đ ờ ờ ờ ng horizontal line (các đư ng ngang) là các đư ị ủ ắ nh nghĩa c a n p chai m c trong chai.T ự ớ c nư ừ ẽ ị ờ đó s xác đ nh đư ng tham chi ng trung ế ờ u hay đư bình (đượ ị ớ ề c xác đ nh trư c trong đi u kiệ ể ừ n là chai chính xác) đ t đó làm tham chiếu cho tất cả các chai i trong h t qu còn lạ ệ thống.Kế ả sẽ đượ ể c th hi n ệ ở hình … Algorithm: Thu nhận hình ảnh Ti nhi u ền xử ể ử lý đ kh ễ Chuyển v nh nh ề ả ị phân Tìm biên củ ả a nh Xác đị ờ ẳ ứ nh đư ng line th ng đ ng FoundBottleWidth = LineVerticalRight – LineVerticalLeft If (FoundBotleWidth = BottleWidth) Bottle Found (Tìm th y chai) ấ Xác đị ờ nh đư ng nằm ngang LineTB = RoiCheck/2 CapDetection = LineCap – LineTB LevelDetection = LineLevel – LineTB If (MinCap < CapDetection <MaxCap) If (MinLevel < LevelDetection < MaxLevel) Cap and Level fine Else Cap fine, level not fine Else If (MinLevel < LevelDetection < MaxLevel) Cap not fine, level fine Else Cap and Level not fine Else No Bottle Found K m ết quả thực nghiệ
  • 54. 54 Hình 5. K 41 ết quả chương trình báo đạt khi nhậ ệ n di n thành công nắp chai và mực nước Hình i nh 5.42 Kết quả chương trình báo lỗ ậ ợ n đư c nắp chai nhưng mự ớ c nư c không chính xác