Đồ án :Thiết Kế Và Thi Công Robot Bám Đối Tượng Mặt Người
Trang 1i
Sinh viên thực hiện: Tr ần Thanh Duy MSSV: 05111014
II Nhi ệm vụ đề tài:
Thiết kế và thi công phần cơ khí cho mô hình robot bám đối tượng
Thiết kế, tính toán và thi công mạch điều khiển cho mô hình dùng chip vi điều khiển Atmega32
Viết chương trình điều khiển mô hình cho vi điều khiển
III Ngày giao đồ án: Ngày … tháng … năm 2010
IV Ngày hoàn thành đồ án: Ngày … tháng … năm 2010
V Giáo viên hướng dẫn: Lê Thanh Tùng
Ngày … tháng … năm 2010 Giáo viên hướng dẫn
Trang 2ii
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Ngày tháng năm 2010
Trang 3iii
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Ngày tháng năm 2010
Trang 4iv
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Ngày tháng năm 2010
Trang 5v
Thời gian trôi qua thật nhanh Ngày đầu tiên bước vào giảng trường đại học
vẫn còn bỡ ngỡ Giờ hơn bốn năm đã trôi qua Lúc này khi chúng em đang chuẩn bị
bảo vệ đồ án tốt nghiệp cũng chính là lúc chúng em chuẩn bị bước vào ngưỡng cửa
cuộc đời
Đồ án tốt nghiệp là một dịp để chúng em tập ứng dụng kiến thức đã học vào
một vấn đề cụ thể một cách hoàn chỉnh và có hệ thống, cũng là một thước đo tương đối khách quan những điều chúng em đã lĩnh hội được sau hơn bốn năm miệt mài dưới sự dìu dắt của các thầy cô Những kiến thức chúng em học trong trường đại
học là những kiến thức sẽ đi cùng chúng em hòa nhập vào nền khoa học kỹ thuật trong nước và thế giới
Trên thế giới công nghệ Robot đang trên đà phát triển rất mạnh Ở các nước phát triển như: Trung Quốc, Anh, Mỹ, Nhật Bản… hệ thống nhận dạng ra đời từ rất lâu Ngày nay hệ thống nhận dạng và bám đối tượng nhận dạng càng trở nên phong phú với nhiều loại nhận dạng khác nhau cũng như sự tích hợp càng nhiều những kỹ thuật công nghệ cao Bởi lẽ cùng với sự tiến bộ của xã hội loài người, nền công nghiệp ngày càng phát triển, thì nhu cầu sử dụng robot thay thế sức lao động của con người ngày càng tăng
Ở Việt Nam, sau thời kỳ hậu chiến, nền kinh tế đã có nhiều khởi sắc rõ rệt, ngày nay mức sống của người dân được nâng cao hơn Nhu cầu robot trong công nghiệp ngày càng nhiều
Chính vì lẽ đó, được sự định hướng của thầy Lê Thanh Tùng, nhóm chúng
em đã chọn đề tài tốt nghiệp là:”Thiết kế và thi công robot b ám đối tượng mặt người”
Với mô hình chưa thực sự hoàn thiện, đồ án của chúng em chưa thể áp dụng vào thực tế ngay được Mà chủ yếu là làm quen, mô phỏng quy trình vận hành, tìm
hiểu công nghệ robot bám đối tượng
Tuy nhiên, một ý nghĩa quan trọng mà chúng em có được là: qua đề tài này, chúng em có được một trãi nghiệm những kiến thức đã học, từ khâu thiết kế thi công cho tới lập trình điều khiển hoàn chỉnh mô hình
Trang 6vi
Lời cảm ơn đầu tiên nhóm chúng em xin gởi đến là thầy Lê Thanh Tùng,
mặc dù thầy có rất nhiều công việc giảng dạy và nghiên cứu phải làm trong thời gian qua, nhưng thầy đã đồng ý làm giáo viên hướng dẫn cho nhóm em Trong quá trình
làm đồ án, thầy Lê Thanh Tùng đã thường xuyên nhắc nhở, quan tâm, tạo rất nhiều
điều kiện thuận lợi cho chúng em hoàn thành đúng tiến độ của đồ án Bên cạnh đó,
những lời nhận xét góp ý của thầy cũng giúp chúng em có những định hướng đúng đắn hơn khi thực hiện đề tài
Lời cảm ơn tiếp theo, chúng em xin gửi lời cảm ơn chân thành tới thầy cố
vấn Lê Tấn Cường, ban chủ nhiệm phòng Khoa học trẻ, khoa cơ khí chế tạo máy
Khó khăn lớn nhất mà chúng em mắc phải là phần thi công cơ khí cho mô hình Đó
là thiếu kinh nghiệm thiết kế, thiếu dụng cụ gia công, thiếu nơi làm việc tốt Chính phòng khoa học trẻ là nơi đã giúp đỡ chúng em vượt qua được những khó khăn đó
Nhân dịp này, nhóm chúng em cũng xin bày tỏ lòng biết ơn sâu sắc tới tất cả quý thầy cô trong khoa cơ khí chế tạo máy, quý thầy cô trong bộ môn cơ điện tử là
những người đã dạy dỗ, dìu dắt chúng em từ những kiến thức cơ bản nhất, đồng thời thường xuyên giúp đỡ rất nhiệt tình khi chúng em có khó khăn trong học tập cũng như đưa ra các giải pháp định hướng cho chúng em để giải quyết vấn đề Và rất nhiều những điều quý báu khác nữa mà tụi em được lãnh nhận từ mái trường Đại
học Sư Phạm Kỹ Thuật TP.HCM mà trong khuôn khổ này tụi em chưa nói hết được lòng biết ơn của mình Chúng em hứa sẽ cố gắng phấn đấu hơn nữa trong sự nghiệp sau này để làm rạng danh mái trường Sư Phạm Kỹ Thuật thân yêu
Sinh viên th ực hiện
Tr ần Thanh Duy Nguy ễn Minh Quang
Trang 7vii
Mô hình đồ án là một robot có hình dạng như chiếc xe, với hai động cơ 24v là 2 động cơ truyền động chính, hai bánh xe Ômi phía trướ c có tác dụng điều hướng Một thanh nhôm cao 80cm gắn một webcam tác dụng như một con
m ắt để xác định khuôn mặt và chạy theo khuôn mặt được phát hiện Trên thanh nhôm g ắn một động cơ hộp số để kéo ổ trượt phía dưới có tác dụng nâng hay h ạ webcam lên xuống
B ộ điều khiển của robot là một mạch điện sử dụng Atmega32 dùng để điều khiển chuyển động chính và chuyển động nâng hạ của webcam thông qua các m ạch công suất Mạch công suất là mạch cầu 1 FET,1 Relay dùng để điều khi ển 2 động cơ 24v phía sau Một mạch cầu nữa gắn trên thanh nhôm 80cm dùng để điều khiển chuyển động của webcam
Ph ần mềm giám sát là C#.Net trong bộ Visual Studio 2008
Chương 1 T ổng quan
Chương 2 Cơ sở lí luận
Chương 3 Thi ết kế phần cơ khí
Chương 4 Thi ết kế phần mạch điện
Chương 5 Thi ết kế phần mềm điều khiển
Ch ương 6 K ết luận và hướng phát triển
Trang 8viii
ABSTRACT
The model project is a robot shaped like a car, with two 24V engine and transmission are two main engines, two front wheels Omi is effective navigation A 80cm high aluminum bar attached to a webcam that acts as an eye to identify faces and run faces long aluminum bar detected Aluminum bar attached to an engine gearbox to pull the bottom sliding drive work to raise or lower the webcam up and down
The robot controller is a circuit used Atmega32 used to control movement of lifting and moving the webcam through the power circuit Power circuit is a FET bridge circuit, a relay used to control the two rear engine 24V
A bridge-mounted aluminum 80cm longer used to control the motion of the webcam
Monitoring software is C # NET in Visual Studio 2008
This thesis contains:
Chapter 1 Overview
Chapter 2 theoretical basis
Chapter 3 Design of mechanical parts
Chapter 4 Designing the circuit
Chapter 5 Control Design Software
Chapter 6 Conclusion and development
Trang 9ix
Trang Nhiệm vụ đồ án - I
Nhận xét của giáo viên hướng dẫn - II
Nhận xét của giáo viên phản biện - III
Nhận xét của hội đồng khoa học - I V
Lời nói đầu - V
Lời cảm ơn -VI
Tóm tắt đồ án - VII
Abstract -VIII
Mục lục -IX
Chương 1:TỔNG QUAN - 1
1.1 Giới thiệu chung - 1
1.2 Nhận dạng khuôn mặt và lý do chon đề tài - 1
Chương 2:CƠ SỞ LÝ LUẬN - 3
2.1 Lý thuyết nhận dạng khuôn mặt người - 3
2.1.1 Khái niệm - 3
2.1.2 Ứng dụng của phương pháp nhận dạng khuôn mặt người - 3
2.2 Các phương pháp nhận dạng khuôn mặt người - 4
2.2.1 Hướng tiếp cận dựa trên tri thức - 4
2.2.2 Hướng tiếp cận dựa trên đặc trưng không thay đổi - 5
2.2.3 Hướng tiếp cận dựa trên so khớp mẫu: - 5
2.2.4 Hướng tiếp cận dựa trên diện mạo: - 6
Trang 10x
2.3 Giải thuật Adaboost và đặt trưng Haar của khuôn mặt - 7
2.3.1 Giải thuật Adaboot - 7
2.3.2 Đặt trưng Haar-like của khuôn mặt - 8
2.4 Gi ới thiệu chung về Atmega 32 - 11
2.4.1 Ki ến trúc RISC: - 11
2.4.2 Đặc điểm - 11
2.4.3 Sơ đồ khối - 12
2.5 Giới thiệu PWM trong đồ án: - 13
2.5.1 PWM - 13
2.5.2 Phân lo ại PWM: - 13
2.6 Emgu CV: - 15
Chương 3:THIẾT KẾ CƠ KHÍ - 17
3.1 Yêu cầu đặt ra - 17
3.2 Thiết kế - 17
3.2.1 Hình dạng - 17
3.2.2Vật liệu - 19
3.2.3 Đặc điểm kỹ thuật - 19
Chương 4:THIẾT KẾ PHẦN MẠCH ĐIỆN - 23
4.1 Tổng quát - 23
4.2 Mạch điều khiển - 24
4.2.1 Yêu cầu - 24
4.2.2 Giải pháp - 24
4.3 Mạch kích - 25
4.4 Động cơ truyền chuyển động chính - 28
4 4.1 Yêu cầu đặt ra - 28
4.4.2 Chọn động cơ - 28
4.4.3 Chế độ hoạt động - 28
Trang 11xi
Chương 5:THIẾT KẾ PHẦM MỀM - 29
5.1 Giao diện trên máy tính - 29
5.1.1 Yêu cầu - 29
5.1.2 Giải pháp - 29
5.1.3 Thiết kế giao diện - 30
5.2 Chương trình nhận dạng và xử lý - 32
5.2.1 Lưu đồ dãy thuật: - 32
5.2.2 Hoạt động của chương trình - 33
5.3 Chương trình trên chip VĐK - 35
5.3.1 Yêu cầu - 35
5.3.2 Giải Pháp - 35
5.3.3 Lưu đồ chương trình VĐK - 36
5.3.4 Chương trình con - 37
5.3.5 chương trình chính viết cho VĐK - 38
5.3.6 Chương trình vòng lặp chính - 39
5.4 Kết quả đạt được - 40
Chương 6: KẾT LUẬN VÀ PHÁT TRIỂN - 41
6.1 Những điều đã làm được - 41
6.2 Những điều chưa làm được - 41
6.3 Hướng phát triển của đề tài - 41
Tài Liệu Tham Khảo - 42
Phụ Lục - 43
I.Giới Thiệu Trình Biên Dịch Code Vision AVR - 43
II.Code toàn bộ chương trình viết cho VĐK - 43
III.Giao diện toàn bộ chương trình C# - 49
IV.Code toàn bộ chương trình C# - 5
Trang 121
Chương 1:
1.1 Giới thiệu chung:
Hơn một thập kỷ qua có rất nhiều công trình nghiên cứu về bài toán xác định khuôn mặt ng ười từ ảnh đen trắng, xám đến ảnh màu như ngày hôm nay Các nghiên cứu đi từ bài toán đơn giản, mỗi ảnh chỉ có một khuôn mặt người nhìn thẳng vào thiết bị thu hình và tìm cách nhận ra được đâu là mặt người và vị trí của nó trên ảnh Cho đến ngày hôm nay bài toán mở rộng cho ảnh màu, có nhiều khuôn mặt trong cùng một ảnh, và cũng tìm cách nhận ra đâu là mặt người, đâu là không,
nhằm đáp ứng nhu cầu mà con người đặt ra
Hình 1.1 Một ví dụ về nhận dạng mặt người
1.2 Nh ận dạng khuôn mặt và lý do chon đề tài
Bài toán nhận dạng khuôn mặt người là bài toán được nghiên cứu từ những năm 70 Tuy nhiên đây là một bài toán khó nên việc nghiên cứu vẫn chưa đạt được
những kết quả mong muốn
Trong nước ta, những năm nay thì xử lý ảnh là một môn học tuy còn nhiều
mới mẻ nhưng được sự quan tâm của rất nhiều nhà khoa học, giảng viên, sinh viên,…
Hiện nay công nghệ nhận dạng đã được ứng dụng vào thực tế như máy ảnh
kỹ thuật số Do phần lớn người chụp chỉ muốn ngắm là chụp nên mọi thao tác khác giao phó hết cho máy ảnh Trong khi đó, má y ảnh, với đặc tính ưu tiên lấy nét các đường thẳng và ưu tiên khu vực trung tâm khuôn hình, nên khi khuôn hình
có sự hiện diện của người nhưng không ở vị trí trung tâm, máy sẽ lấy nét và đo
Hệ Thống Nhận
D ạng Mặt Người
Mặt người
Trang 13Hình1.2 Máy ảnh kỹ thuật số với công nghệ nhận dạng khuôn mặt
Công nghệ nhận dạng khuôn mặt cũng được đưa vào laptopToshiba, Asus,
Lenovo, Cung cấp sẵn trong bộ phần mềm chuyên dụng đi kèm máy và đưa vào
tất cả các dòng laptop có webcam, hỗ trợ hệ điều hành Windows Vista, XP Chủ nhân, thay vì gõ mật khẩu hoặc xác thực bằng vân tay, chỉ cần ngồi trước màn hình máy tính là có thể đăng nhập được
Hình 1.3 Laptop v ới công nghệ nhận dạng khuôn mặt người.
Các bài báo cáo về nhận dạng khuôn mặt dựa vào đặc trưng lồi lõm của
Trần Lê Hồng Dũ, Dương Anh Đức , Dương Nguyên Vũ, hay là bài viết về công nghệ nhận dạng mặt người của BKIS(Trung tâm an ninh mang,ĐH bách khoa Hà
Nội) tại diễn đàn bảo mật Blackhat
Th ật sự đây là một đề tài nghiên cứu khó khăn nhưng cũng không kém ph ần thú vị Hệ thống nhận dạng khuôn mặt người là một hệ thống sẽ được ứng dụng nhiều trong tương lai Đây cũng là một hướng đi của công ngh ệ mới,do vậy dưới sự hướng dẫn thầy Lê Thanh Tùng nhóm chúng em quy ết định chọn đề tài “Thiết kế và thi công Robot nhận dạng mặt người”
Trang 142.1.2 Ứng dụng của phương pháp nhận dạng khuôn mặt người:
Hệ thống tương tác giữa người và máy: sẽ giúp những người tàn tật hoặc khiếm khuyết có thể trao đổi Những người câm sẽ nói chuyện với người bình thường bằng ngôn ngữ tay, người bại liệt có thể thông qua các ký hiệu như nháy mắt, những cử chỉ trên khuôn mặt để ra hiệu cho người bình thường,…
Nhận dạng người có phải là tội phạm bị truy nã hay không? Giúp cơ quan
an ninh quản lý tốt con người Hoặc có thể truy tìm nhanh chóng các hồ sơ
tội phạm trong cơ sở dữ liệu của máy tính
Hệ thống quan sát theo dõi và bảo vệ Các hệ thống camera sẽ xác định đâu
là con người và theo dõi con người đó xem họ có vi phạm gì không, ví dụ như xâm phạm khu vực không được vào, xâm pham vào nhà riêng,…
Lưu trữ hình ảnh khuôn mặt những người rút tiền từ máy ATM, hiện nay có tình trạng những người bị người khác lấy mất mã số PIN và những người
ăn cắp này đi rút tiền Hoặc những người chủ thẻ đi rút tiền nhưng lại báo
mất thẻ và mất tiền Các ngân hàng có nhu cầu khi giao dịch tiền sẽ kiểm tra hay lưu trữ khuôn mặt người rút tiền để sau đó đối chứng và xử lý
Các hệ thống mở cửa, chấm ngày công lao động của các nhân viên vào ra trong công ty Hệ thống nhận dạng mặt người sẽ cho phép các nhân viên vào ra những khu vực cho phép, hay đăng nhập máy tính hoặc đăng nhập máy tính cá nhân của mình mà không cần mật khẩu,…
Phân tích các cảm xúc của con người trên khuôn mặt
Trang 154
Tương lai sẽ phát triển các loại thẻ thông minh có tích hợp sẵn đặc trưng
của người dùng trên đó, khi bất cứ người dùng nào khác dùng để truy cập hay xử lý tại các hệ thống sẽ được yêu cầu kiểm tra các đặc trưng của khuôn mặt so với thẻ để biết có phải là chủ thẻ hay không
2.2 Các phương pháp xác định khuôn mặt người:
Có rất nhiều phương pháp xác định khuôn mặt người từ ảnh xám đến ảnh màu Tuy nhiên ở bài luận văn này không đi sâu vào hướng nhận dạng chính xác khuôn
mặt người
2.2.1 Hướng tiếp cận dựa trên tri thức:
Trong hướng tiếp cận này, các luật sẽ phụ thuộc rất lớn vào tri thức của những tác giả nghiên cứu về bài toán xác định khuôn mặt người Đây là hướng tiếp
cận dạng top-down Dễ dàng xây dựng các luật cơ bản để mô tả các đặc trưng
của khuôn mặt và các quan hệ tương ứng Ví dụ, một khuôn mặt thường có hai
mắt đối xứng nhau qua trục thẳng đứng ở giữa khuôn mặt và có một mũi, một
miệng
Hình 2.1 Nh ận dạng dựa trên tri thức
Một vấn đề khá phức tạp khi dùng hướng tiếp cận này là làm sao chuyển từ tri thức con người sang các luật một cách hiệu quả Nếu các luật này quá chi tiết
Trang 162.2.2 Hướng tiếp cận dựa trên đặc trưng không thay đổi:
Đây là hướng tiếp cận theo kiểu bottom-up Các tác giả cố gắng tìm các đặc
trưng không thay đổi của khuôn mặt người để xác định khuôn mặt người Dựa trên
nhận xét thực tế, con người dễ dàng nhận biết các khuôn mặt và các đối tượng trong các tư thế khác nhau và điều kiện ánh sáng khác nhau, thì phải tồn tại các thuộc tính hay đặc trưng không thay đổi Có nhiều nghiên cứu đầu tiên xác định các đặc trưng khuôn mặt rồi chỉ ra có khuôn mặt trong ảnh hay không Các đặc trưng như: lông mày, mắt, mũi, miệng, và đường viền của tóc được trích
bằng phương pháp xác định cạnh Trên cơ sở các đặc trưng này, xây dựng
một mô hình thống kê để mô tả quan hệ của các đặc trưng này và xác định sự tồn
tại của khuôn mặt trong ảnh Một vấn đề của các thuật tóan theo hướng tiếp cân đặc trưng cần phải điều chỉnh cho phù hợp điều kiện ánh sáng, nhiễu, và bị che khuất Đôi khi bóng của khuôn mặt sẽ tạo thêm cạnh mới, mà cạnh này lại rõ
hơn cạnh thật sự của khuôn mặt, vì thế nếu dùng cạnh để xác định sẽ gặp khó
khăn
2.2.3 Hướng tiếp cận dựa trên so khớp mẫu:
Trong so khớp mẫu, các mẫu chuẩn của khuôn mặt (thường là khuôn
mặt được chụp thẳng) sẽ được xác định trước hoặc xác định các tham số thông qua một hàm Từ một ảnh đưa vào, tính các giá trị tương quan so với các mẫu chuẩn về đường viền khuôn mặt, mắt, mũi và miệng Thông qua các giá trị tương quan này mà các tác giả quyết định có hay không có tồn tại khuôn mặt trong ảnh
Hướng tiếp cận này có lợi thế là rất dễ cài đặt, nhưng không hiệu quả khi tỷ lệ, tư
thế, và hình dáng thay đổi Nhiều độ phân giải, đa tỷ lệ, các mẫu con, và các
mẫu biến dạng được xem xét thành bát biến về tỷ lệ và hình dáng
Hình 2.2 Nhận dạng dựa trên so khớp mẫu
Trang 176
2.2.4 Hướng tiếp cận dựa trên diện mạo:
Trái ngược hẳn với so khớp mẫu, các mô hình (hay các mẫu) được học từ một
tập ảnh huấn luyện trước đó Sau đó hệ thống (mô hình) sẽ xác định khuôn mặt
người Hay một số tác giả còn gọi hướng tiếp cận này là hướng tiếp cận theo
phương pháp học
Hình 2.3 T ập ảnh dùng để huấn luyện mặt người
Sau đó hệ thống sẽ tổng hợp tất cả các đặc tình của khuôn mặt con người như: mắt,
mũi, miệng, thành một vector riêng
Quá trình nhận dạng sẽ thực hiện theo các phương pháp như mạng Neural
Hình 2.4 Ph ương pháp nhận dạng mặt người theo mạng Neural
Trang 187
2.3 Giải thuật Adaboost và đặt trưng Haar của khuôn mặt:
2.3.1 Gi ải thuật Adaboost:
AdaBoost là một bộ phân loại mạnh phi tuyến phức dựa trên hướng tiếp cận boosting được Freund và Schapire đưa ra vào năm 1995 Adaboost cũng hoạt động trên nguyên tắc kết hợp tuyến tính c ác weak classifiers để hì nh thành một strong classifier
Là một cải tiến của tiếp cận boosting, AdaBoost sử dụng thêm khái niệm
trọng số (weight) để đánh dấu các mẫu khó nhận dạng Trong quá trình huấn luyện, cứ mỗi weak classifiers được xây dựng, thuật toán sẽ tiến hành cập nhật lại
trọng số để chuẩn bị cho việc xây dựng weak classifier kế tiếp: tăng trọng số của các mẫu bị nhận dạng sai và giảm trọng số của các mẫu được nhận dạng đúng bởi weak classifier vừa xây dựng Bằng cách này weak class ifer sau có thể tập trung vào các mẫu mà các weak classifiers trước nó làm chưa tốt Sau cùng, các weak classifers sẽ được kết hợp tùy theo mức độ tốt của chún g để tạo nên strong classifier
Viola và Jones dùng AdaBoost kết hợp các bộ phân loại yếu sử dụng các đặc trưng Haar-like theo mô hình phân tầng (cascade) như sau:
Hình 2.5: Mô hình phân t ần kết hợp các bộ phân loại yếu để xác định khôn mặt
Trang 198
Trong đó, hk là các bộ phân loại yếu, được biểu diễn như sau:
x: cửa sổ con cần xét
Ok: ngưỡng (O = teta)
fk: giá trị của đặc trưng Haar-like
pk: hệ số quyết định chiều của phương trình
AdaBoost sẽ kết hợp các bộ phân loại yếu thành bộ phân loại mạnh như sau: H(x) = sign(a1h1(x) +a2h2(x) + + anhn(x)) (a = alpha)
Với: at >= 0 là hệ số chuẩn hoá cho các bộ phân loại yếu
Hình 2.6: K ết hợp các bộ phân loại yếu thành bộ phân loại mạnh
2.3.2 Đặt trưng Haar-like của khuôn mặt
Do Viola và Jones công bố, gồm 4 đặc trưng cơ bản để xác định khuôn mặt người Mỗi đặc trưng Haar–like là sự kết hợp của hai hay ba hình chữ nhật "trắng" hay "đen" như trong hình sau:
Hình 2.7 4 đặt trưng Haar-like cơ bản
Trang 209
Để sử dụng các đặt trưng này vào việc xác định khuôn mặt người, 4 đặt trưng Haar-like cơ bản được mở rộng ra, và được chia làm 3 tập đặc trưng như sau:
Đặc trưng cạnh (edge features):
Đặc trưng đường (line features):
Đặc trưng xung quanh tâm (center-surround features):
Dùng các đặc trưng trên, ta có thể tính được giá trị của đặc trưng Haar-like là sự chênh lệch giữa tổng của các pixel của các vùng đen và các vùng trắng như trong công thức sau:
f(x) = Tổngvùng đen(các mức xám của pixel) - Tổngvùng trắng(các mức xám của pixel)
Sử dụng giá trị này, so sánh với các giá trị của các giá trị pixel thô, các đặc trưng Haar-like có thể tăng/giảm sự thay đổi in -class/out-of-class (bên trong hay bên ngoài lớp khuôn mặt người), do đó sẽ làm cho bộ phân loại dễ hơn Như vậy ta có thể thấ y rằng, để tính các giá trị của đặc trưng Haar -like, ta
phải tính tổng của các vùng pixel trên ảnh Nhưng để tính toán các giá trị của các đặc trưng Haar-like cho tất cả các vị trí trên ảnh đòi hỏi chi phí tính toán khá lớn, không đáp ứng được cho các ứng dụng đòi hỏi tính run-time Do đó Viola và Jones đưa ra một khái niệm gọi là Integral Image, là một mảng 2 chiều với kích thước
bằng với kích của ảnh cần tính các đặc trưng Haar-like, với mỗi phần tử của mảng này được tính bằng cách tính tổng của điểm ảnh phía trên (dòng-1) và bên trái (cột-1) của nó Bắt đầu từ vị trí trên, bên trái đến vị trí dưới, phải của ảnh, việc tính toán này đơn thuần chỉ đựa trên phép cộng số nguyên đơn g iản, do đó tốc độ thực hiện
rấtnhanh
Trang 2110
Hình 2.8: Cách tính Integral Image c ủa ảnh
Sau khi đã tính được Integral Image, việc tính tổng các giá trị mức xám của
một vùng bất kỳ nào đó trên ảnh thực hiện rất đơn giản theo cách sau:
Giả sử ta cần tính tổng các giá trị mức xám của vùng D như trong hình 4, ta
có thể tính như sau:
D = A + B + C + D – (A+B) – (A+C) + A
Với A + B + C + D chính là giá trị tại điểm P4 trên Integral Image, tương tự như
vậy A+B là giá trị tại điểm P2, A+C là giá trị tại điểm P3, và A là giá trị tại điểm P1 Vậy ta có thể viết lại biểu thức tính D ở trên như sau:
Hình 4: Ví dụ cách tính nhanh các giá trị mức xám của vùng D trên ảnh
Tiếp theo, để chọn các đặc trưng Haar-like dùng cho việc thiết lập ngưỡng, Viola và Jones sử dụng một phương pháp máy học được gọi là AdaBoost AdaBoost sẽ kết hợp các bộ phân loại yếu để tạo thành một bộ phân loại mạnh
Với bộ phân loại yếu chỉ cho ra câu trả lời chính xác chỉ hơn viện đoán một cách ngẫn nhiên một chút, còn bộ phân loại mạnh có thể đưa ra câu trả lời chính xác trên 60%
Trang 22• Hai bộ đếm/định thời 8 bit với chế độ so sánh và chia tần số tách biệt
• Một bộ đếm/định thời 16 bit với chế độ so sánh và chế độ nạp lại, chia tần số tách biệt
• Bốn kênh PWM
• Giao tiếp nối tiếp SPI master/Slave
• USARTnối tiếp lập trình được
• Có bộ định thời Watchdog timer ngày trên chip và lập trình được với bộ dao động độc lập
• Bộ so sánh Analog trên chip
• Một bộ biến đổi ADC 10 bit có đến 8 kênh lối vào
• Một giao diện TWI đồng bộ tương thích I2C
• Bộ đếm thời gian thực với bộ dao động tách biệt
• I/O : 32 đường I/O, trong đó có 23 đường I/O lập trình được
• Điện áp hoạt động: 4.5 - 5.5V
• Hoạt động với xung nhịp: 0-16MHz
Trang 2312
2.4.3 S ơ đồ khối:
Hình 2.5 C ấu trúc tổng quát của Atmega 32
Bộ đệm Port C Bộ đệm Port B Ngõ vào số PortC Ngõ vào số PortB
Ngõ vào ADC
Chốt &
Bộ đếm chương trình
Con trỏ ngăn xếp Bộ đếm/Bộ định thời Dao động
Bộ nhớ chương trình Flash
Sram Dao động nội
Lệnh thanh ghi Giải mã lệnh.
Định thời Watdog MCU CTRL
& Định thời
EEPROM USART
Thanh ghi trạng thái ALU
Thanh ghi
đa năng X Y Z
Đơn vị ngắt
Bộ đệm Port D Ngõ vào số PortD
SPI
Bộ Logic chươg trình
Ngõ vào
so sánh
PC0 5,7 Reset PB0 7
XtLA1 XtLA2
PD0 5 PD6 PD7 VCC
GND
Trang 2413
2.5 Gi ới thiệu PWM trong đồ án:
2.5.1 PWM
PWM (Pulse Width Modulator) là Mođun điều rộng xung
Atmega32 có bốn kênh điều rộng xung nằm ở Timer /Counter1,2 và tương ứng có
4 chân PWM, đó là:
Tên gọi Vị trí Thuộc Timer/Counter
Chế độ PWM nhanh (fast pwm mode)
Chế độ PWM hiệu chỉnh pha (Phase corect pwm mode)
Chế độ PWM hiệu chỉnh pha và tần số (Phase and Frequency correct pwm mode)
Chế độ PWM nhanh:
Fast pwm là chế độ tạo ra xung pwm có tần số cao Timer đếm từ giá trị
BOTTOM đến giá trị MAX và trở về đếm lại từ giá trị BOTTOM
Chu kỳ
Cập nhật OCRn và
cờ tràn TOVn=1
Cờ ngắt OCRn= 1Biểu đồ dạng sóng:
Hình2.6 Biểu đồ dạng sóng của PWM chế độ Fast
Trang 2514
+ Đối với TCNT1:
Tần số pwm:
_ / OCnxPWM
(1 )
Clk I O
f f
N TOP
= + ; N={1, 8, 64, 256, hoặc 1024}
+ Đối với TCNT2:
_ / OCnPWM
.256
Clk I O
f f
2 )
Clk I O
f f
.510
Clk I O
f f
Cập nhật OCRnx/TOP và OCnA =1 hoặc ICF =1 ( tại TOP)
Chu kỳ
Trang 26Hình2.8 Bi ểu đồ dạng sóng của PWM chế độ hiệu chỉnh pha và tần số
Nhận xét :
Tần số pwm:
Chiều dài xung lên và xuống là như nhau Ngõ ra luôn đối xứng trong
mọi chu kỳ chính vì thế ta có thể điều chỉnh được tần số
_ / OCnxPWM
2 )
Clk I O
f f
dễ dàng có thể chạy trên bất kỳ nền tảng Linux,Mac OSX
Việc sử dụng và lập trình với EmguCV thật đơn giản chỉ cần thêm các dll vào chương trình C# thì có thể gọi tất cả các thuộc tính của EmguCV
Cấu trúc của Emgu CV gồm hai lớp cơ bản:
Trang 2716
• Lớp thứ nhất là các cấu trúc,thuộc tính,và các hàm dùng để xử lý hình ảnh,lấy ảnh,
• Lớp thứ hai là lớp cấp cao,với nhiều tính chất phức tạp dùng để nhận dạng hay xử lý các ma trận,điểm ảnh,
Hình 2.9 C ấu trúc tổng quát của Emgu CV
Trang 2817
Ch ương 3:
3.1 Yêu c ầu đặt ra:
- Phần cứng có dạng hình chiếc xe có 1 thanh cao ở giữa điều khiển webcam
Trang 2918
Hình 3.2 Các Thành Ph ần Của Mô Hình
1: Camera
2: Thanh trượt 3: Động cơ 1 4: Thanh đỡ 5: Ổ trượt
6: Bánh trước 7: Động cơ 2 và 3 8: Bánh sau
Trang 3019
Sau khi tham khảo các vật liệu, nhóm quyết định chọn thành phần chính
của kết cấu cơ khí là nhôm tấm và nhôm thanh vì nhôm có độ cứng tương đối
trọng lượng nhẹ Nhôm định hình có độ bóng bề mặt chấp nhận được, lại dễ gia công nên tạo được nét mỹ quan cho mô hình
3.2.3 Đặc điểm kỹ thuật:
- Camera diboom 998:
Độ phân giải 640x480, 310 nghìn điểm ảnh Nhận tín hiệu đưa về PC
Hình 3.3 Camera nh ận ảnh và truyền về máy tính.
- Thanh trượt:
Vật liệu: nhôm thanh(38x38), dày 4mm
Tác dụng: vừa làm thanh trượt vừa làm thanh đỡ cho động cơ 1
Hình 3.4 Thanh tr ượt.
- Thanh đỡ:
Vật liệu: nhôm thanh(10x20),dày 3mm
Trang 3120
Tác dụng: giữ camera
- Động cơ 1:
Là động cơ hộp số(24v), tốc độ 5000rpm Trên động cơ có gắn một con lăn
để kéo ổ trượt lên hoặc xuống
Hình 3.5 Động cơ trên dùng để nâng,hạ camera
- Ổ trượt:
Gồm 4 con lăn gắn chặt bởi 2 tấm nhôm và được áp chặt vào thanh trượt Tác dụng: nâng hạ camera nhờ thanh đỡ
Hình 3.6 Ổ trượt
Trang 32Tát dụng: truyền chuyển động cho 2 bánh sau
Hình 3.8 Động cơ 2,3 và hai bánh sau
- Bánh sau:
Gồm 2 bánh nhôm đươc bọc dây cao su làm tăng độ ma sát
2 bánh nhận truyền động của động cơ 2 và 3, điều khiển hướng đi của xe
Trang 3322
Hình 3.9 Mô hình sau khi l ắp ráp mạch điện