ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ ---o0o---... ÔNG TRÌNH ĐƯ HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌ H HO –ĐHQG -HCM... ĐẠI HỌC QUỐC GIA TP.
Trang 1ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ -o0o -
Trang 2ÔNG TRÌNH ĐƯ HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌ H HO –ĐHQG -HCM
Trang 3ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH CỘNG HÒA XÃ HỘI CH NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC BÁCH KHOA Đ c lập – Tự do – Hạnh phúc
-✩ - -✩ -
Số: /BKĐT Khoa: Đ ện – Đ ện t
B Môn: Đ ện T NHIỆM VỤ LU N ĂN TỐT NGHIỆP
1 HỌ VÀ TÊN : DƯ NG THI N L MSHV: 7140074 2 NGÀNH: KỸ THU T ĐIỆN TỬ MN: 60 52 03 02 3 Đề tài: NH N DIỆN T TH NG PHƯƠNG PH P G O ORDS T H P SLIDING-WINDOW 4 Nhiệm vụ (Yêu cầu về n i dung và số liệu n đầu): X y ựn ệ t ốn n ận iện vật t trên m y t n n n, ự trên mô n B of Words Số l ợn vật t ần n ận ạn l 12 T lệ n ận ạn đ n đạt tối t i u 50
5 Ngày giao nhiệm vụ luận văn: 12/01/2016 6 Ngày hoàn thành nhiệm vụ: 08/07/2016 7 Họ v tên n ời ng d n: Phần ng d n PGS TS Ho n Tr n To n
N i dung và yêu cầu LVTN đã đ ợc thông qua B Môn Tp.HCM, ngày… tháng… năm 20 CHỦ NHIỆM BỘ MÔN NGƯỜI HƯỚNG DẪN CHÍNH PHẦN DÀNH CHO KHOA, BỘ MÔN: N ời duyệt (chấm s b ):
Đ n vị:
Ngày bảo vệ :
Đi m tổng k t:
N i l u trữ luận văn:
Trang 4Lời m n
Lờ
Lời đầu tiên tôi xin m n t ầy Ho n Tr n đã n n tôi t ự iện luận văn n y Tôi n xin m n t ầy ô tron môn K T uật Điện Tử – đại ọ
B K o T n P ố Hồ C Min đã iản ạy tôi tron n ữn năm qu i p tôi ó
đ ợ n ữn ki n t ứ quý u đ t ự iện đ ợ luận văn
Tôi m n t iả ủ i vi t m tôi đã t m k ảo đã un ấp o tôi
n ữn t ôn tin rất k o ọ v ữu i p tôi t ự iện luận văn
Tôi n xin m n i đ n tôi đã luôn tạo điều kiện v ủn tôi tron việ
ọ tập v t ự iện luận văn n y
Cuối n tôi xin m n quý t ầy ô v ạn đã đọ v óp ý o luận văn
Trang 5Tóm t t luận văn t ạ s
T
Luận văn sử ụn mô n B o Wor đ n ận iện vật t tron ản C
đ tr n ủ ản đ ợ mô tả n đ tr n Si t (Scale-invari nt tur tr ns orm)
B n ận ạn ản sử ụn p n p p SVM (Support V tor M in ) đ p n loại ản v o l p vật t ần n ận ạn Số l p vật t tron luận văn l 12 l p
N o i r luận văn n sử ụn p n p p sli in win ow đ đọ t ôn tin t
v n tron ản n m t m ki m vị tr ủ vật t tron ản Luận văn t ự iện uấn luyện v n ận iện ản trên ản k n u đ đ n i sự ản ởn ủ
y u tố tron ản uấn luyện v ản n ận ạn
Luận văn đ ợ t ự iện trên m y t n n n, sử ụn n ôn n ữ C v i sự trợ ủ t viện Op nCV
K t quả n ận ạn t y đổi k n u iữ l p vật t v ản uấn luyện M t số l p vật t ó k t quả n ận ạn rất tốt lên đ n trên 90 L p ó k t quả n ận ạn t ấp n ất n đạt trên 50
Trang 6
Lời m đo n
Lờ
Tôi xin m đo n:
Tôi l n ời t ự iện luận văn n y i sự n n ủ t ầy Ho n Tr n Mọi t m k ảo tron luận văn tôi đều tr n rõ r n tên t iả, ôn tr n , v
t ời i n p t n
Mọi s o ép, i n ối vi p ạm quy tôi xin ịu tr n iệm
Tp Hồ C Min , n y 19 t n 07 năm 2016
Họ viên
Trang 7Mụ lụ
M
C n 1: Mở đầu 1
C n 2: Tổng quan 3
C n 3: C sở lý thuy t 5
3.1 Giải thuật Sift 5
3.1.1 Gi i t iệu: 5
3.1.2 C c thực hiện: 5
3.2 Chia cụm kmean 10
3.3 Bag of Words 13
3.3.1 Bi u di n ảnh b ng mơ hình BoW: 14
3.3.2 Bi u di n đ tr n : 14
3.3.3 Tạo b t đi n: 14
3.3.4 Huấn luyện dựa trên BoW: 15
3.3.5 Ưu đi m ủ mơ n B o Wor s: 15
3.3.6 Khuy t đi m của mơ hình Bag of Words: 16
3.4 Các loại máy học phân l p: 16
3.4.1 SVM (Support vector Machine): 16
3.4.2 Mạng Neural: 18
3.4.3 Nạve Bayes: 20
3.5 Sliding Window: 21
3.6 S l ợ về Op nCV: 22
3.6.1 C t viện tron op nCV: 23
C n 4: Hiện t ự ệ t ốn 26
4.1 Tổng quan: 26
4.2 Huấn luyện: 28
4.2.1 Xây ựn t đi n Si t 28
4.2.2 Huấn luyện m u đ x y ựn m y ọ SVM 30
4.3 N ận ạn 31
4.3.1 Tạo sliding window 31
4.3.2 Xử lý ữ liệu t sli in win ow 32
C n 5: K t quả 34
5.1 Đ n i : 34
Trang 8Mụ lụ
5.2 B n luận k t quả: 39
C n 6: K t luận 40
6.1 K t luận 40
6.2 Ki n n ị m t số n n iên ứu ti p t o 40
D n mụ t i liệu t m k ảo 41
Trang 9D n s n min ọ
D
H n 3-1 Góc ở bức ảnh l n n ó t không còn là góc nữa 6
H n 3-2 T n DoG ở k t k n u ủ ản 7
H n 3-3 K ảo s t i trị DoG đ lọ t m r đi m đ iệt 7
H n 3-4 Ản v i đi m Si t 8
H n 3-5 V n ó k t 16x16 xun qu n đi m đ iệt 9
H n 3-6 V n l n ận ủ đi m đ iệt đ ợ i t n 16 ô n 9
H n 3-7 T n r i nt n ở m i v n on 4x4 10
H n 3-8 C t m m i ụm đ ợ ọn n u n iên 11
H n 3-9 C ụm đ ợ n t n n t m t m ần n ất 11
H n 3-10 C t m ủ m i ụm đ ợ t n lại l đi m trun n ủ ụm đó 12
H n 3-11 B 2 v 3 l p lại đ n k i i to n i tụ, tứ k ôn n sự t y đổi t m nữ 12
H n 3-12 Mô n B o Wor s 13
H n 3-13 t đi n n ản n t n n i ụm mô tả 14
H n 3-14 H n t ợn mô n BoW 15
H n 3-15 Tồn tại n iều siêu p n ó t p n ữ liệu uấn luyện t n i l p 17
H n 3-16 X y ựn siêu p n tối u m t số p m ất tron p n l p SVM 17
H n 3-17 Mô n mạn N ur l ản 19
H n 3-18 Cấu tạo m t N ur l ản 19
H n 3-19 M t v ụ về p t iện n m t n sli in win ow 22
H n 3-20 Đ tr n Si t k t ợp v i p n p p k p m u Brut -For ủ op n v 23
H n 4-1 S đồ ệ t ốn n ận ạn 26
H n 4-2 M u uấn luyện x đạp 28
H n 4-3 C x y ựn t đi n Si t 28
H n 4-4 C uấn luyện SVM 30
H n 4-5 C tron qu tr n n ận ạn ản t ử sổ tr ợt 31
H n 4-6 ử sổ tr ợt t o p n n n v i ị uy n l 1ô 32
H n 5-1 Bi u đồ k t quả n ận ạn v i ản uấn luyện ó nền v ản n ận iện ó nền 35
H n 5-2 Bi u đồ k t quả n ận ạn đ n v i ản uấn luyện ó nền tron suốt v ản n ận ạn ó nền tron 36
H n 5-3 Bi u đồ về sự ản ởn ủ m u uấn luyện đ n k t quả n ận ạn 37
H n 5-4 C i x i đ ợ p t iện v n ận ạn 38
H n 5-5 M t on m o đ ợ p t iện v n ận ạn 38
H n 5-6 C i x đạp đ ợ p t iện v n ận ạn 39
Trang 10D n s ản số liệu
D ệ
Bản 5-1 K t quả n ận ạn v i ản uấn luyện ó nền v ản n ận iện ó nền 34Bản 5-2 K t quả n ận ạn v i ản uấn luyện ó nền tron suốt v ản đầu v o ó nền tron 35Bản 5-3 Ản ởn ủ m u uấn luyện đ n k t quả n ận ạn 36
Trang 11D n mụ ữ vi t t t
D
T T ầ
Trang 12C n 1: Mở đầu
Mở ầu
C n 1:
“N ận diện vật th ” tứ l t m v x định vật th trong bức ảnh ho vi o Đ y
l đề tài r ng và tham vọng trong thị giác máy tính Tuy nhiên nó lại là vấn đề cốt lõi
v l u đời của ngành này
Con n ời có th d dàng nhận bi t đ ợc vật th xung quanh v i nhiều kích
t v n n đ ạn N n đ dạy cho máy tính hi u và nhận dạn đ ợc là
m t thách thức l n của khoa học Đã ó n iều nhánh nh củ “N ận diện vật th ”
đ ợc phát tri n n : n ận diện khuông m t, nhận diện ô tô, nhận diện n ời đi đ ờng, nhận diện bi n số x ,… N ữn đề t i đó đã đ ợc tập trung phát tri n v đạt những thành tựu rõ rệt, đã đ ợc ứng dụng nhiều trong cu c sống Trong nhữn năm ần đ y
đề tài l n về nhận diện vật th đ n đ ợc quan tâm trở lại Các khía cạnh củ “Tr tuệ nhân tạo” m “N ận diện vật th ” l m t trong những thử thách l n đ n đ ợ đ y mạnh nghiên cứu
T iả chọn đề t i “N ận diện vật th ” đ có th n iên ứu quá trình nhận dạng vật th m t cách tổng quát, p ụn o n iều l p vật t k n u Đề t i ó t p t tri n, ứn ụn v o việ x y ựn ro ot ó t ị i o ệ t ốn i m s t tự
Luận văn đ ợ tr n y t n 6 n :
C n 1 : Mở đầu Tr n y lý o ọn đề t i, mụ đ , đối t ợn v p ạm vi
n iên ứu, ý n ĩ t ự ti n v k o ọ ủ đề t i n iên ứu
Trang 13C n 1: Mở đầu
2
C n 2: Tổn qu n P n t đ n i ôn tr n n iên ứu ủ t
iả k liên qu n đ n đề t i C r n ữn vấn đề m đề t i ần tập trun iải quy t
C n 3: C sở lý t uy t Tr n y sở lý t uy t, iả t uy t k o
ọ đ ợ sử ụn tron luận văn
C n 4: Hiện t ự ó ệ t ốn Mô tả x y ựn ệ t ốn n ận ạn ủ luận văn, ôn việ đã t ự iện
C n 5: K t quả Tr n y k t quả ủ luận văn B n luận về k t quả t u
Trang 14 Bag of Words (BoW)
Deep Neural Network
Bag of Words có rất nhiều u đi m:
CNN đ i i ó t viện uấn luyện p ứ tạp
T n tự n B o Wor s, CNN n k ôn x định vị trí của vật th
Do n ữn k uy t đi m ủ CNN, đ iệt l việ k ó k ăn tron việ t m ki m
t viện trợ, nên t iả t ự iện luận văn n y t o mô n B o Wor s
B o Wor s đ ợc sử dụng trong thị giác máy tính, và xử lý ngôn ngữ tự nhiên Nhữn ý t ởn đầu tiên về p n p p n y đ ợ đề xuất bởi Zellig Harris [1] Năm
1999, D vi Low đã p t min r iải thuật Sift v i khả năn mô tả ảnh mạnh mẽ [2] T đó B o Wor s ó k uyn ng sử dụn đ tr n Si t đ tạo “Wor s”
Có rất nhiều đề tài nghiên cứu t o n n y đạt đ ợc k t quả khả qu n Đầu tiên
Trang 15C n 2: Tổng quan
4
phải k đ n đề t i ủ t iả Gabriella Csurka [3], đề t i n y sử ụn mô n BoW
ản k t ợp v i việ k ảo s t iệu quả ủ p n p p Bow k i đi k m v i
Trang 16C n 3: C sở lý thuy t
ở lý thuy t
C n 3:
3.1 Gi i thu t Sift
Scale-invariant feature transform (SIFT) là m t giải thuật trong thị giác máy tính
đ phát hiện và mô tả đ t n đị p n ủa ảnh Giải thuật đ ợc phát minh bởi
D vi Low tron năm 1999
3.1.1 G ớ ệ :
Trong các ản , đi m đ c biệt trong ảnh có th đ ợc trích xuất đ mô tả đ ợc vật
th trong ảnh Những mô tả đó đ ợc thu thập trong quá trình huấn luyện v đ ợc dùng
đ nhận dạng vật th trong ản s u đó Đ có th sử dụng trong nhận dạng vật th trong nhiều bức ản k n u, đ tr n đó p ải đ ợc phát hiện và trích xuất
đ ợc ngay cả khi m t số điều kiện của ản t y đổi n : đ l n, đ sáng, góc chụp
M t đi m quan trọng nữa là vị trí củ đi m đ c biệt phải k ôn t y đổi trong các góc chụp khác nhau
SIFT là m t giải thuật mạnh mẽ tron lĩn vực nhận diện vật th Bởi vì mô tả của đ tr n SIFT k ôn ị bi n đổi v i k t c ản k n u, ng xoay khác nhau và thậm chí có th không bi n đổi tron điều kiện ánh sáng khác nhau
và méo dạng
3.1.2 ước thực hiện:
X định vị tr đi m đ c biệt (Key localization):
Ản đầu vào đ ợc nhân tích chập v i b lọc Gaussian v i các giá trị khác nhau
đ tạo ra ảnh m i v i đ mờ khác nhau
( ) ( ) ( )
V i ( ) là ản đầu vào và ( ) là b lọc Gaussian v i số
DoG (Di r n o G ussi n) l p n p p n đ nổi rõ các chi ti t của ảnh
Trang 17C n 3: C sở lý thuy t
6
( ) ( ) ( ) Tron p n p p x định góc Harris, ta thấy r ng v n có th phát hiện ra góc
n u ảnh bị xoay Tuy nhiên khi ảnh bị t y đổi k t c, m t góc có th không còn
là m t góc nữ N n min ọ ên i đ y:
H nh 3-1 Góc ở bức ảnh lớn hơn có thể không còn là góc nữa
gu n http://docs.opencv.org/3.1.0/da/df5/tutorial_py_sift_intro.html#gsc.tab=0
N v ụ ở trên ta thấy khi ản t y đổi k t c, m t y u tố n o đó ó t không còn là bất bi n nữa Do vậy đ t m đ ợc y u tố bất bi n qua nhiều k t c ảnh khác nhau, ta cần khảo sát DoG ở nhiều k t c ảnh
Trang 18C n 3: C sở lý thuy t
H nh 3-2 T nh o ở các k ch th ớc khác nh u c ảnh
gu n http://docs.opencv.org/3.1.0/da/df5/tutorial_py_sift_intro.html#gsc.tab=0
K i DoG đã đ ợ x định, m i pixel trong ma trận DoG sẽ đ ợc so sánh v i 8 pixel ở xung quanh nó và 9 pixel ở Scale ti p t o v S l tr đó N u m t đi m là
đi m l n nhất ho c nh nhất trong các lân cận m nó so s n t nó l đi m đ c biệt tiềm năn
H nh 3-3 hảo sát các giá tr o ể l c t m r iểm c i t
Trang 19C n 3: C sở lý thuy t
8
gu n http://docs.opencv.org/3.1.0/da/df5/tutorial_py_sift_intro.html#gsc.tab=0
Tính mô tả đị p n ủ đi m đ c biệt:
N ời ta sử dụng m t vùng lân cận 16x16 xun qu n đi m đ c biệt đ tính toán
mô tả của nó
Ô 16x16 đ ợc phân thành 4 ô con, m i ô con lại ó k t c 4x4
V i m i ô on k t 4x4,đ l n của gradient ng đ ợc tính Những sự địn n n y đ ợc x p vào 8 loại: 0-44 đ , 45-89 đ , 90-134 đ ,…N ời ta lập histogram theo 8 loại N vậy t đã t n đ địn ng củ 16 pix l đ tạo thành histogram 8 loại Ta tốn 8 giá trị đ mô tả histogram 8 loại này
L m t n tự v i tất cả 16 ô k t c 4x4 ta cần 16x8 = 128 giá trị đ mô tả
Trang 20C n 3: C sở lý thuy t
N vậy v i m i đi m đ c biệt ta trích xuất đ ợc m t vector có 28 giá trị đ mô
tả lân cận xun qu n đó V tor đó t ọi là Descriptor
H nh 3-5 ng có k ch th ớc x xung qu nh iểm c i t
gu n http://aishack.in/tutorials/sift-scale-invariant-feature-transform-features/
H nh 3-6 ng l n c n c iểm c i t c chi thành nh
gu n http://aishack.in/tutorials/sift-scale-invariant-feature-transform-features/
Trang 21Phân cụm k-mean là m t p n p p l ợng tử tử vector Mụ đ ủ p n
pháp này là phân n m u đầu vào thành k cụm mà trong t ng cụm mà m i m u gần v i
đi m trung vị của cụm đó n ất so v i đi m trung vị của các cụm còn lại
P n p p t ực hiện:
K đi m trung vị đ ợc chọn ng u nhiên trong miền dữ liệu
Tính khoảng cách giữa các m u đầu v o v k đi m trung vị Khoảng cách nào
gần nhất ta sẽ phân m u đầu vào vào cụm đó
T n đi m trung vị m i của k cụm m i tạo thành
L p lại 2 v 3 o đ n khi không có sự t y đổi cụm giữ đi m
đầu vào xảy ra Tứ i to n đã i tụ
Các đ đi m nổi bật củ p n p p k-mean:
Khoản Eu li đ ợ n đ x định khoảng cách giữ đi m trong
thuật toán
Trang 23o k-m n đ ợc sử dụn tron lĩn vực xử lý tính hiệu Ví dụ, tron lĩn
vự đồ họa máy tính, k-me n đ ợc sử dụn đ giảm số màu sử dụng của
m t bức ảnh thành số chính xác là k k-m n đ ợc sử dụng trong việc
n y v t ờng cho k t quả rất tốt
Phân tích cụm:
o Trong phân tích cụm, k-m n đ ợc sử dụn đ phân các dữ liệu đầu vào
k cụm khác nhau Tuy nhiên thuật toán k-m n k ôn đ ợc linh hoạt và
có nhiều hạn ch Trong thực t việc b t bu c phải chọn đ ợc thông số k
Trang 24C n 3: C sở lý thuy t
chính xác ngay t đầu là rất khó thực hiện Việc sử dụng khoảng cách
u li đ t n to n n k ôn đ ợ n x Do đó rất nhiều thuật toán m i đ ợc phát tri n đ kh c phục những khuy t đi m đó
Họ đ tr n (F tur l rnin ):
Phân cụm k-m n đ ợc sử dụn tron c họ đ tr n đ tạo t đi n
P n p p ản nhất là phân các m u huấn luyện đầu v o ( đ ợc gán nhãn) thành k cụm khác nhau nh m tạo lập t đi n
Trang 25C n 3: C sở lý thuy t
14
3.3.1 Biểu diễn nh bằng mô hình BoW:
Đ bi u di n m t ảnh b ng BoW, ta xem m t ản n m t đoạn văn ản Do đó
t n “wor s” tron ản n ần đ ợ k i o Đ l m đ ợ n vậy, quá trình xử lý trải qu ăn ản n s u:
3.3.2 Biểu diễ ặ rư
Ản đầu v o đ ợc phát hiện đ tr n C đ tr n tron ảnh có th l đ c
tr n Si t, Sur , H rris, C đ tr n đó đ ợc bi u di n i dạng vector Ví dụ đ c
tr n Si t ủa m t đi m đ ợc bi u di n b ng m t vector có 128 giá trị Trong các loại
bi u di n đ tr n , p n p p Si t l nổi ti ng nhất hiện nay
3.3.3 T o bộ t ển:
Số l ợng l n các ản n đ huấn luyện sẽ đ ợc trích xuất đ tr n C đ c
tr n n y s u đó sẽ đ ợc chia cụm đ tạo l p b t đi n M i cụm là tập hợp m t số
Trang 26C n 3: C sở lý thuy t
3.3.4 Huấn luyện dựa trên BoW:
Các ản đã n n ãn sẽ đ ợc sử dụn đ huấn luyện Các ảnh này sẽ qua quá
tr n tr đ tr n đ tạo thành vector
M i v tor đ tr n sẽ đ ợc kh p v i m t t trong b t đi n Có nhiều p n
pháp kh p k n u, n n đ n iản nhất l p n p p đi m gần nhất Tứ l đ c
tr n sẽ đ ợc kh p v i t có khoảng cách Euclide gần nó nhất
M i ản đ ợc mô tả bởi nhiều v tor đ tr n , m i v tor đ tr n k p v i
m t t Do đó m i ảnh huấn luyện sẽ đ ợc bi u di n bởi m t tập hợp các t có trong
t đi n Ta sẽ lập histogram t của ảnh Ví dụ k t c t đi n là 1000 t , thì m i
ảnh sẽ đ ợc bi u di n bởi m t vector có 1000 phần tử đ bi u di n histogram các t
Các vector histogram này sẽ đ ợ l u trữ v n n ãn đ tạo ra máy học phân
l p
H nh 3-14 H nh t ng m h nh o
gu n http://www.cc.gatech.edu/~hays/compvision/results/proj4/rchawla8/index.html
3.3.5 Ư ể r
Đ n iản, n m t
K t quả n ận iện ó đ n x o
Trang 27ần n ận iện sẽ xuất iện v i rất n iều ó ạn k n u tron ản nên đôi
k i việ mô tả vị tr k ôn i n ủ t n p ận vật t tron ản l m k ả năn n ận ạn vật t ị ó p lại
3.3.6 Khuy ểm c a mô hình Bag of Words:
K ôn x địn đ ợc vị trí củ đối t ợng trong ảnh
K ôn t n đ n ản ởng của y u tố không gian trong ảnh Do đó ất l ợng nhận dạn đôi k i k ôn đ ợc cao Tron n iều tr ờn ợp việ k ôn t n
đ n y u tố k ôn i n lại l k uy t đi m V ụ n tron việ n ận ạn
k un ản
Không nhận dạn đ ợc vật th trong ảnh có nhiều vật th khác nhau
3.4 Các lo i máy h c phân lớp:
3.4.1 SVM (Support vector Machine):
Support v tor M in (SVM) l p n p p ự trên ý t ởng xây dựng m t siêu ph n đ phân các m u đầu vào thành hai l p