Chúng ta hãy cùnglàm quen với lịch sử của máy ảnh, vào giữa thế kỷ XI và XVI, con người đã bắt đầu sử dụng một loại máy ảnh thô sơ được gọi là “hộp tối”, nó chophép chúng ta in ra giấy n
Trang 1MỤC LỤC
LỜI NÓI ĐẦU 2
CHƯƠNG 1: GIỚI THIỆU 7
1 Phần cứng 8
1.1 Máy tính 9
1.2 Camera (Thiết bị ghi hình) 9
1.3 Bộ giữ khung 11
1.4 Mạng Internet 14
2 Phần mềm 16
CHƯƠNG 2: MỘT SỐ KIẾN THỨC LIÊN QUAN 18
1 Giao thức HTTP (HYPERTEXT TRANSFER PROTOCOL) 18
1.1 Tổng quan về giao thức truyền siêu văn bản(HTTP) 18
1.1.1 Giao thức HTTP và ý nghĩa của nó 18
1.1.2 Mô hình hoạt động của HTTP 19
1.1.3 Ví dụ về HTTP 20
1.1.4 Một số khái niệm về kết nối 21
1.1.5 Cấu trúc cơ bản của HTTP 21
1.2 Giao thức HTTP 1.1 23
1.2.1 Phiên bản HTTP 1.1 23
1.2.2 Request 24
1.2.2.1 Request-Line 24
1.2.2.2 Phương thức 24
1.2.2.3 Request-URI 25
1.2.2.4 Nhận dạng tài nguyên bởi một Request 26
1.2.2.5 Request Header Fields 27
1.2.3 Response 28
1.2.3.1 Status-Line 28
1.2.3.1.1 Mã trạng thái và nguyên nhân 28
1.2.3.2 Các trường Header của Response 31
2 Tổng quan về xử lý ảnh 31
2.1 Giới thiệu 31
2.2 Xử lý ảnh số và ứng dụng 32
2.3 Biểu diễn ảnh 34
2.3.1 Ảnh và thị giác người (Visual perception) 34
2.3.2 Biểu diễn màu (Color representation) 34
2.3.3 Thu nhận ảnh (Image capture, Representation, and Store) 35
2.3.4 Ảnh số (Digital Image) 37
2.4 Cải thiện ảnh dùng toán tử điểm 38
2.4.1 Thay đổi độ tương phản 38
2.4.2 Tách nhiễu và phân ngưỡng 39
2.4.3 Biến đổi âm bản 40
2.4.4 Cắt theo mức 40
2.4.5 Trích chọn bít 41
2.5 Phát hiện biên 41
2.5.1 Phương pháp Gradient 42
2.5.2 Phương pháp Laplace 43
2.6 Phân đoạn ảnh 44
Trang 22.6.1 Phân theo ngưỡng 44
3 Bộ lọc 47
3.1 Bộ lọc thresholding 47
3.2 Bộ lọc Difference 50
3.3 Bộ lọc ReplaceChannel 52
3.4 Bộ lọc ExtractChannel 53
3.5 Bộ lọc merge 55
CHƯƠNG 3: XÂY DỰNG LỚP PHỤC VỤ CHO BẮT ĐỐI TƯỢNG DI CHUYỂN 59
1 Class Detector 1 59
2 Class Detector 2 61
3 Class Detector 3 62
4 Class Detector 4 63
CHƯƠNG 4: THIẾT KẾ, XÂY DỰNG CHƯƠNG TRÌNH 65
1 Giao diện khi đăng nhập 65
2 Giao diện chương trình chính 66
KẾT LUẬN 70
TÀI LIỆU THAM KHẢO 72
Trang 3LỜI NÓI ĐẦU
Ngày nay, chúng ta có thể in tráng ảnh trong giây lát và ghi lạinhững file video một cách đơn giản Tuy nhiên, để làm được như vậy người
ta đã phải mất hàng trăm năm nghiên cứu và tìm tòi Chúng ta hãy cùnglàm quen với lịch sử của máy ảnh, vào giữa thế kỷ XI và XVI, con người
đã bắt đầu sử dụng một loại máy ảnh thô sơ được gọi là “hộp tối”, nó chophép chúng ta in ra giấy những hình ảnh rồi qua một vài khâu xử lý ta sẽnhận được hình ảnh chính xác của vật chụp
Vào năm 1568 ông Danielo Barbaro đã sáng chế ra một chiếc máyảnh có một thấu kính và một lỗ có thể thay đổi đường kính để tăng độ nétcủa ảnh Kế thừa trên nguyên lý cơ bản đó, những chiếc máy ảnh sau đó rađời không những cho chất lượng ảnh tốt mà còn được tích hợp trên nónhiều tính năng tiện dụng khác
Ngày nay chiếc máy ảnh không chỉ đơn thuần dùng để chụp ảnh màcòn có thể ghi hình ảnh dưới dạng file Multimedia phục vụ cho giải trí hoặcnhiều lĩnh vực khác
Tuy nhiên, nhu cầu người dùng không dừng ở đó, nhiều khi họ muốnquan sát hay ghi hình, … những nơi mà họ không thể trực tiếp có mặt vậycâu hỏi đặt ra là phải làm như thế nào? Trước những điều kiện và yêu cầuđặt ra đó, đòi hỏi phải có những phương pháp nhanh, phù hợp, tự động,chính xác và có hiệu quả để lấy được thông tin có giá trị Chính vì vậy màphương pháp giám sát qua Camera là phương pháp tối ưu nhất Để chophép quan sát qua Camera cần phải có một thiết bị hiển thị (Cumputer) vàđường truyền kết nối giữa Camera và thiết bị đó
Như ta đã biết, phải mất gần 30 năm bộ xử lý Intel mới có thể vượtqua rào chắn của tốc độ 1GHz May thay, sau đó chỉ cần 1,5 năm để đạt tớitốc độ 2GHz Sự phát triển theo quy luật số mũ về tốc độ xử lý đã mở
Trang 4đường cho nhiều công nghệ xuất ra màn hình Destop Một trong nhữngcông nghệ dường như giúp ích nhiều nhất là bộ xử lý video kỹ thuật số.Thuật toán xử lý video bằng kỹ thuật điện toán có thể chạy trong thời gianthực, thậm chí trên một máy tính cấp thấp Một cách tự nhiên, điều này mở
ra xu hướng tăng cường kết nối giữa Camera và máy vi tính (Cumputer).Sau đó, Camera được số hóa và cũng vì thế nó dễ dàng kết nối với máy vitính hơn Chúng ta đang ở thời điểm mà Camera được xem là thiết bị nhậpxuất của máy vi tính Những nhà nhập xuất máy vi tính đáng tin cậy nhưSONY đã đưa ra mô hình máy vi tính kết hợp với Camera kỹ thuật số
Một phát triển khác gần đây đã giúp cho “sự kết hợp” của Camera vàmáy vi tính đó là sự ra đời của kỹ thuật kết nối Broadband Bằng đườngtruyền DSL hoặc cáp người ta có thể gửi video từ PC Camera cục bộ tớimột PC ở xa Vì thế, video không những có thể biểu diễn và xử lý cục bộ
mà còn có thể truyền thông qua mạng Internet với tộc độ ngày càng tăng
Những Camera nhỏ có thể đính kèm vào những máy tính để bànhoặc máy tính xách tay cho phép hội thảo video rất tốt cho công sở cũngnhư sử dụng tại nhà Những khó khăn, rắc rối trong việc cài đặt hội thảovideo có thể sớm sẽ trở thành quá khứ PC video conferencing hưởng lợirất lớn từ việc đưa ra hai công nghệ tiến bộ sau:
Chuẩn giao thức truyền thông trên Bus mở rộng tốc độ cao, như
là IEEE 1394 (công nghệ kết nối ngoại vi) và USB 2.0
Mạng Inthernet tốc độ cao cho công sở (>100 Mbits/s) và kỹthuật truyền thông Broadband cho mạng gia đình
Một mặt, Bus mở rộng tốc độ cao cho phép Camera kỹ thuật sốtruyền thông với tốc độ full-frame bằng PC Mặt khác, mạng máy tính tốc
độ cao cho phép những máy tính cá nhân truyền dữ liệu bằng kỹ thuậttruyền hình high-bandwith, chẳng hạn như live video trên mạng Internet
Trang 5thông dụng, như là máy tính để bàn hoặc máy tính xách tay được kết nối lại
để tạo nên một bức phá lớn trong tương lai gần Ở mức độ thương nghiệp,điều này sẽ gia tăng mối quan hệ hợp tác giữa các khu vực trên thế giới.Trong những năm qua, nhiều tổ chức lớn ở Mỹ đã khẳng định vị trí củamình trên trường quốc tế và không chỉ nằm trong khuôn khổ của quốc gia.Chẳng hạn như một công ty khoa học điện tử áp dụng vào hàng không củaHoneywell ở Mỹ cũng giống như là công ty khoa học điện tử áp dụng vàohàng không ở Pháp Điều này đòi hỏi một mối quan hệ hợp tác vững chắcgiữa các tổ chức ở các khu vực địa lý khác nhau trên thế giới Thực chấtnhững tập đoàn này giao tiếp với nhau thì phải nhân đôi thời gian di chuyểncho mục đích kinh doanh Video conferencing trở nên phổ biến sẽ loại bỏthời gian di chuyển này và cải tiến cách thức giao tiếp đơn phương tiệnhàng ngày thành đa phương tiện
Trong lĩnh vực an ninh – giám sát, Camera đã được kết hợp với hệthống bảo mật và giám sát trong thời gian qua Tuy nhiên, việc sử dụngcông nghệ Camera trong những ứng dụng bảo mật có thể được mô tả như làmột người bảo vệ Camera trong hệ thống bảo mật trước đây thông thườnghoạt động tách biệt và không có mối quan hệ gì với máy vi tính Chúng gửivideo time-lapse cung cấp cho máy thu băng tỷ biến để lưu trữ trên băngVHS Sau đó, nếu người sử dụng muốn truy cập vào từng phần riêng biệtcủa video, nó sẽ phải truy xuất thường xuyên – đây là chính là một việc bấttiện Do không có phần mềm làm nhiệm vụ xử lý trên live video cho nênkhông có khả năng tự động báo động khi có đột nhập Vì thế bảo mật dựavào việc giám sát của người bảo vệ, người này phải thường xuyên chú ývào màn hình đầy phức tạp trong nhiều giờ liền Bằng cách kết nối Camerabảo mật với máy tính, video có thể được số hóa lưu trữ vào các phương tiệnlưu trữ của máy tính Hơn nữa, video có thể xử lý trực tuyến và dĩ nhiên
Trang 6suy ra rằng có thể tự động tăng cường chức năng hệ thống bảo mật trên tínhiệu video.
Cách thức xử lý video nổi tiếng nhất là không ngừng kiểm tra Cáchnày có thể cảnh báo kịp thời khi có một đối tượng nào đó đột nhập vào khuvực cấm và di chuyển dưới tầm kiểm soát của Camera Nói cách khác, khiquang cảnh không có gì thay đổi thì không cần lưu ý, việc lưu trữ bằng kỹthuật số không xảy ra Chỉ khi khung video chứa những đối tượng chuyểnđộng thì mới được lưu trữ, như vậy ta tiết kiệm đươch bộ nhớ từ cách lưutrữ này
Thao tác xử lý video đầy linh hoạt khác trong những ứng dụng bảomật là nhận dạng mặt người Đây là ứng dụng sinh trắc học mà cho tới bâygiờ đã được sử dụng thành công trong các trình ứng dụng kiểm tra xuấtnhập Khi thuật toán và hệ thống này phát triển tinh vi hơn, nhận diện mặtngười có thể được sử dụng trong việc giám sát những đối tượng bị tìnhnghi Vì vậy các trình ứng dụng quan sát qua hệ thống Camera-Cumputerđang rất được quân tâm và trông đợi
Hiện nay, kỹ thuật này đang được ứng dụng một cách rộng rãi trongnhiều lĩnh vực kinh doanh và đời sống khác nhau như: y tế, ngân hàng, viễnthông,…Không ai có thể phủ nhận những lợi ích, những hiệu quả to lớn mànhờ áp dụng kỹ thuật đem lại
Nhằm nâng cao hiểu biết của mình về lĩnh vực quan sát và mạngtruyền thông vì vậy trong đồ án tốt nghiệp của mình em đã chọn đề tài
“Xây dựng bộ công cụ giám sát hình ảnh qua Camera”.
Mục tiêu của đồ án là xây dựng ứng dụng có khả năng thu nhận đượchình ảnh không chỉ trên Camera Local mà còn có thể thu nhận ảnh qua cácCamera kết nối trên mạng Internet, bên cạnh đó tích hợp tính năng pháthiện khi đối tượng di chuyển, chụp ảnh đối tượng Ứng dụng không chỉ cho
Trang 7Camera dưới dạng MultiView Đồ án được trình bày thành 4 chương với bốcục như sau:
Chương 1: Giới thiệu
Giới thiệu khái quát về hệ thống phần cứng và phần mềm phục vụcho truyền tải dữ liệu giữa máy vi tính và Camera
Chương 2: Một số kiến thức liên quan
Giới thiệu giao thức HTTP, xử lý ảnh và xây dựng các bộ lọc
Chương 3: Xây dựng lớp phục vụ cho bắt đối tượng di chuyển
Chương 4: Thiết kế, xây dựng chương trình
Trong quá trình thực hiện em xin chân thành cảm ơn thầy giáo đã tậntình hướng dẫn, chỉ bảo, giúp đỡ em trong quá trình làm đồ án cùng các
thầy trong Bộ môn An ninh mạng đã tạo điều kiện về cơ sở và vật chất để
em hoàn thành nội dung đồ án của mình
Trang 8CHƯƠNG 1: GIỚI THIỆU
Khung chứa video được gửi từ Camera tới máy vi tính Nếu Camera
là Camera tỷ biến thì tín hiệu video được chuyển thành tín hiệu số ở bộ giữkhung, bộ giữ khung hoạt động như người dàn xếp của Camera và máy vitính, nó cũng có vai trò như bộ nhớ tạm cho khung video Điều này rấtquan trọng đối với ngày xưa, khi Bus, bộ xử lý, tốc độ bộ nhớ còn chậm vàkhông có vùng đệm khung, khung video thường bị mất Ngày nay, khôngcần thiết phải có vùng đệm trong bộ giữ khung Điều này làm giảm vai tròcủa bộ giữ khung thành bộ biến đổi tín hiệu tỷ biến thành số Vì thế, nếuCamera được số hóa thì có thể xóa bỏ bộ giữ khung
Bộ giữ khung (hoặc những Camera kỹ thuật số) truyền những khungđược số hóa tới bộ xử lý của máy vi tính (CPU) và bộ nhớ thông qua Bus
mở rộng Vì vậy, Bus này phải có tốc độ cao để duy trì khả năng truyền tínhiệu video trong thời gian thật là rất quan trọng Sau đây chúng ta sẽ mởrộng các thành phần phần cứng của hệ thống Computer – Camera
Trang 9Hình 1.1: Sơ đồ hệ thống Computer – Camera.
1.1 Máy tính
Máy tính là thành phần quan trọng nhất trong hệ thống máy tính ghihình Nó làm cho thiết bị ghi hình (video – capturing) truyền thống có thểphát triển thành một hệ thống xử lý hình động mạnh Ngày nay, dạng máytính cá nhân gần như được dùng riêng trong cấu hình của máy tính ghihình Chúng ta cần phải chú ý đến 2 đặc điểm kỹ thuật để chọn lựa mộtmáy tính cá nhân thích hợp, đó là tốc độ xử lý và kích thước bộ nhớ Bất cứ
bộ vi xử lý của máy tính nào tương đương với Pentium 2 hoặc tốt hơn đều
có thể điều khiển và xử lý được video ở một mức độ nào đó Kích thước bộnhớ mà hệ thống máy tính ghi hình cần tối thiểu là 128MB Để trình diễnvideo tốt cần một màn hình có độ sắc nét cao với màu sắc trung thực
1.2 Camera (Thiết bị ghi hình)
Camera được xem là một thành phần của hệ thống máy tính ghi hình.Camera có thể ở dạng tỷ biến hay kỹ thuật số tùy thuộc vào tín hiệu videotruy xuất Camera còn được phân loại dựa trên mục đích sử dụng Chúng ta
sử dụng Camera gia đình cho phạm vi gia đình và Camera công nghiệp hay
Trang 10an ninh cho những phạm vi rộng, ngoài ra còn có những dạng Camerachuyên dụng khác được sử dụng trong khoa học và y học Ở đây chúng tachỉ đề cập tới Camera dạng gia đình và dạng an ninh – công nghiệp.
Nói chung, Camera dạng gia đình khá khác biệt với Camera dạngcông nghiệp – an ninh Phần lớn Camera gia đình là kỹ thuật số Tất cảnhững máy kiểu mới có giao tiếp kỹ thuật số IEEE1394 Nó cũng có khả
năng thu hình được gọi là Camcorders Phần thu hình được thực hiện bởi video cassette có thể được tích hợp vào trong Camcerders Gần như tất cả
Camcorders đều cho tín hiệu video màu Camera công nghiệp – an ninh
thường là tỷ biến chỉ những sản phẩm sau này mới ở dạng kỹ thuật số Phầnlớn các Camera an ninh - công nghiệp cho ra tín hiệu video đơn sắc vànhững Camera này không có khả năng thu hình Gần đây, thế hệ Cameramới đã trở nên rất phổ biến một cách nhanh chóng Đây là những Cameramàu kỹ thuật số rất nhỏ chỉ được sử dụng cho máy tính Nó được hỗ trợgiao tiếp USB hay là IEEE1394, nó được sử dụng cho những cuộc hội thảovideo, trò chơi trên máy tính, nhận diện và hệ thống an ninh ở gia đình.Camera sử dụng cho máy tính là một ví dụ điển hình cho xu hướng chínhgóp phần làm tăng nhu cầu lập trình trên máy tính – Camera
Trang 11lẻ hiển thị riêng biệt) Nhiều hãng đã đưa ra dạng frame grabber có thểghép nối tương thích với Camera không chuẩn và không xen kẽ (với độphân giải cao và tốc độ khung cao hơn), Camera quét theo đường (line-scanCamera) kính hiển vi quét điện tử, các thiết bị chụp hình trong y tế Điềunày giúp cho các hình ảnh được thu từ các thiết bị có chất lượng tốt nhưvideo chuẩn và rất cần thiết cho ứng dụng chuyên biệt.
Những tín hiệu video kỹ thuật số từ tín hiệu xuất của Frame grabberhay là của Camera kỹ thuật số là một phần thông tin số được cung cấp bởimáy tính hay thiết bị ngoại vi Thông tin số từ các thiết bị ngoại vi của điềukhiển thiết bị máy tính khác nhau được kết nối tới CPU và bộ nhớ chínhthông qua các kênh mở rộng Một kênh máy tính là một phần của thiết bịphần cứng và được kết hợp với một giao thức kết nối được thực thi bởi mộtphần mềm điều khiển thiết bị (driver) và thư viện ứng dụng cấp caoSoftware Development Kit (SDK) Bộ thư viện SDK cung cấp các khối xâydựng cơ bản trong lập trình các ứng dụng của Camera máy tính
Trang 12Có 3 chuẩn thông dụng trong thị trường máy tính ngày nay:
1 Chuẩn PCI.
2 Chuẩn IEEE 1394.
3 Chuẩn USB.
Chuẩn PCI (Peripheral Component Interface): Là kiểu kênh dẫn đầu
tiên trong công nghiệp máy tính Nó rất hữu dụng trong ứng dụng video
Nó cần thông lượng cao kết hợp truy xuất với thiết bị ngoại vi và CPU tốc
độ cao Một điểm chú ý nữa là khả năng xử lý độc lập và không phụ thuộcnên cho phép nó trở thành một kênh chuẩn cho máy tính Intel lẫnMacintosh
Những lợi ích về chức năng của cổng PCI:
Hiển thị thời gian thực trên bộ điều khiển hiển thị của hệthống
Lưu được thời gian thực của hình ảnh vào bộ nhớ của hệthống
Truy xuất tốc độ cao cho các CPU mạnh hiện nay để có đượckhả năng xử lý tốc độ cao
Chuẩn IEEE 1394 : Nó có khả năng chuyển dữ liệu ở tốc độ 100 –
200 hay 400 Mbps
Những lợi ích của IEEE 1394:
Giao tiếp kỹ thuật số - không cần phải chuyển dữ liệu ở dạng
tỷ biến và chấp nhận sự mất toàn bộ dữ liệu
Dễ sử dụng – không cần thiết bị cuối, thiết bị Ids hay cài đặtphức tạp
Có thể gắn nóng – người sử dụng có thể thêm hay tháo thiết bị
1394 với kênh đang hoạt động
Có cấu trúc thay đổi – có thể gồm hỗn hợp các thiết bị có tốc
Trang 13 Có cấu trúc liên kết mạng linh động – có hỗ trợ kết nối mạngđồng đẳng ở dạng sao hay nhánh.
Rẻ tiền – sự phân phối thời gian tới hạn của dữ liệu được bảođảm giúp giảm chi phí cho bộ nhớ đệm
Không có quyền sở hữu riêng – không gặp rắc rối trong vấn đềbản quyền khi sử dụng sản phẩm
Điều khiển tất cả mọi cấu hình – sự quản lý các kênh songsong được điều khiển dưới dạng tối ưu hóa sự phân bổ thờigian và bảo đảm nguồn điện cung cấp đầy đủ cho các thiết bịtrên kênh (chỉ định toàn bộ chu trình cho thiết bị IEEE 1394)chỉ định của kênh ID đẳng thời và báo lỗi
Chuẩn kênh IEEE 1394 với rất nhiều lợi ích đáng chú ý Nó có thểkết nối trực tiếp với Camera mà không cần có sự chuyển đổi từ tín hiệu tỷbiến sang tín hiệu kỹ thuật số Nó còn là một thiết bị kết nối kênh dữ liệuđẳng thời Kênh dữ liệu đẳng thời bảo đảm cho truyền tải với tốc độ địnhtrước Điều này rất quan trọng cho dữ liệu video với thời gian tới hạn, giúploại bỏ được sự tốn kém của bộ nhớ đệm khi tín hiệu được truyền tải đếnđúng thời gian Do đó ta không còn ngạc nhiên khi IEEE 1394 trở thànhmột giao tiếp kỹ thuật số của Camcorder Ngày nay, trên thị trường có rấtnhiều IEEE 1394 cho Camera máy tính công nghiệp hay an ninh Ở những
hệ thống máy tính lớn này không có kênh IEEE 1394 thật mà IEEE 1394được nối với Camera qua bộ điều hợp PCI Bộ điều hợp này dịch giao tiếpcủa IEEE 1394 sang giao tiếp của PCI Đây rõ ràng là một giải pháp chưatối ưu vì hiệu suất tổng thể của giao tiếp hỗn hợp Camera và máy tính kémhơn với 2 giao tiếp đồng bộ
Kênh USB (Universal Serial Bus): Thiết bị USB có thể chuyển tín
hiệu với tốc độ 12 Mbps/s Tốc độ này thấp hơn nhiều khi với thiết bị IEEE
1394 Cổng IEEE 1394 có thể chuyển nhiều dữ liệu hơn trong một khoảng
Trang 14thời gian xác định, nhưng nó đắt hơn USB rất nhiều vì nó cần giao thứcphức tạp và tốc độ phát tín hiệu cao Vì thế cổng USB hỗ trợ thiết bị vớiyêu cầu độ rộng dải tần thấp như chuột, bàn phím và âm thanh USB cũngrất phổ biến với Camera máy tính cấp thấp Ở những thế hệ sau này thìUSB cải thiện được tốc độ thấp bằng cách truyền tín hiệu ở dạng khungnhỏ hơn và cải thiện chất lượng hình ảnh nhờ giảm độ nén.
1.4 Mạng Internet
Internet là một liên mạng, tức là mạng của các mạng con Vậy đầutiên là vấn đề kết nối hai mạng con Để kết nối 2 mạng con với nhau, có haivấn đề cần giải quyết Về mặt vật lý, hai mạng con chỉ có thể kết nối vớinhau khi có một thiết bị có thể kết nối cả hai mạng này Việc kết nối đơnthuần về vật lý chưa thể làm cho hai mạng con có thể trao đổi thông tin vớinhau Vậy vấn đề thứ hai là thiết bị kết nối được về mặt vật lý với hai mạngcon phải hiểu được cả hai giao thức truyền tin được sử dụng trên hai mạngcon này và các gói thông tin của hai mạng con sẽ được gửi qua nhau thôngqua đó Thiết bị này được gọi là Internet Gateway hay Router
Router
Hình 1.3: Hai mạng Net1 và Net2 kết nối thông qua Router.
Khi kết nối đã trở nên phức tạp hơn, các máy Gateway cần phải biết
về sơ đồ kiến trúc của các mạng kết nối Ví dụ như hình sau đây cho thấynhiều mạng được kết nối bằng hai Router
Hình 1.4: 3 mạng kết nối với nhau thông qua 2 Router.
Trang 15Như vậy, Router1 phải truyền tất cả các gói tin đến một máy nằm ởmạng Net2 hoặc Net3 Với kích thước lớn như mạng Internet, việc cácRouter làm sao có thể quyết định về việc chuyển các gói tin cho các máykhác trong các mạng sẽ trở nên phức tạp hơn.
Để các Router có thể thực hiện được công việc chuyển một số lớncác gói tin thuộc các mạng khác nhau người ta đề ra quy tắc là:
Các Router chuyển các gói thông tin dựa trên địa chỉ mạng của nơi đến chứ không phải dựa trên địa chỉ của máy nhận.
Như vậy, dựa trên địa chỉ mạng nên tổng số thông tin mà router phảilưu giữ về sơ đồ kiến trúc mạng sẽ tuân theo số mạng trên Internet chứkhông phải là số máy trên Internet
Trên Internet, tất cả các mạng đều có quyền bình đẳng cho dù chúng
có tổ chức hay số lượng máy là rất chênh lệch nhau
Như vậy, người dùng trong Internet hình dung Internet là một mạngthống nhất và bất kỳ hai máy nào trên Internet đều được nối với nhau thôngqua một mạng duy nhất Hình vẽ sau mô tả kiến trúc tổng thể của Internet:
(a)
Trang 16Phisycal net
(b)
Hình 1.5: (a)-Mạng Internet dưới con mắt người sử dụng
Các máy được nối với nhau thông qua một mạng duy nhất.
(b)-Kiến thức tổng quan về mạng Internet Các Router
cung cấp các kết nối giữa các mạng.
Driver trở thành một phần trong nhân của hệ điều hành khi nó được
Trang 17Windows 2000 và Windows XP WDM có 2 bộ phận riêng biệt nhưngquan trọng như nhau:
Kiểu lõi định cấu trúc chuẩn cho driver thiết bị Cụ thể hơn, nó địnhcách driver thiết bị được cài đặt, bắt đầu và cách các driver thiết bịgiúp cho người sử dụng có thể kết nối được phần cứng
Dãy driver hệ thống được cung cấp bởi Microsoft Những driver này
có tất cả các chức năng cơ bản cần để nhận diện nhiều loại thiết bị.Trong số đó, sự hỗ trợ 2 loại chuẩn mở rộng được ưa chuộng nhất làUSB và IEEE 1394
Trang 18CHƯƠNG 2: MỘT SỐ KIẾN THỨC LIÊN QUAN
1 Giao thức HTTP (HYPERTEXT TRANSFER PROTOCOL)
1.1 Tổng quan về giao thức truyền siêu văn bản(HTTP)
1.1.1 Giao thức HTTP và ý nghĩa của nó
Giao thức HTTP là giao thức của tầng ứng dụng cho Web Đây làgiao thức truyền thông giữa Server và Client HTTP là giao thức phục vụcho dịch vụ WWW(World Wide Web)
Trang 19Một trình duyệt là một HTTP máy khách bởi vì nó gửi những yêucầu tới HTTP máy chủ, rồi máy chủ sẽ trả lời tới máy khách Cổng chuẩn
và mặc định cho HTTP máy chủ là cổng 80, tuy nhiên có thể sử dụng mộtvài cổng khác
HTTP được triển khai trên cả hai phía Client và Server Các tiếntrình Client và Server trên các hệ thống đầu cuối khác nhau giao tiếp vớinhau thông qua việc trao đổi các thông điệp HTTP HTTP quy định cấutrúc thông điệp cũng như cách thức trao đổi thông điệp giữa Client vàServer
HTTP xác định chức năng duyệt yêu cầu trang Web từ Web Servercũng như cách thức Server gửi trang Web được yêu cầu đến trình duyệt.Cho đến năm 1997, phần lớn các trình duyệt Web và Web Server tuân thủphiên bản HTTP 1.0.Từ năm 1998 một số trình duyệt và Web Server sửdụng phiên bản 1.1 theo khuyến nghị của RFC 2068, phiên bản mới nàytương thích với phiên bản 1.0, nghĩa là Web Server dung phiên bản 1.1 cóthể “nói chuyện” được với các trình duyệt sử dụng phiên bản 1.0 và ngượclại
1.1.2 Mô hình hoạt động của HTTP
HTTP kết hợp với dịch vụ TCP
Client khởi tạo liên kết TCP (khởi tạo Socket) đến Server, port80
Server chấp nhận liên kết TCP từ Client
Thông điệp HTTP trao đổi giữa Browser (HTTP Client) vàWeb Server (HTTP Server)
Đóng kết nối TCP
HTTP “không xác thực”
Server không lưu giữ thông tin về các yêu cầu đã thực hiệncủa Client
Trang 20Giao thức này lưu giữ “tình trạng” dạng hỗn hợp
Các tình huống quá khứ cần được lưu giữ lại
Nếu Server/Client bị ngắt lien kết, chúng xem xét tình huốngxảy ra có thể bị xung đột cần phải đồng bộ lại
HTTP Client gửi HTTP thông điệp yêu cầu (Request message,
có chứa địa chỉ URL) bên trong TCP kết nối cổng Socket(Socket là điểm cuối cùng của truyền thông, nó gồm có địa chỉ
Trang 211.1.4 Một số khái niệm về kết nối
Kết nối không bền vững (phiên bản HTTP 1.0)
Server phân tích yêu cầu, đáp ứng yêu cầu và đóng kết nốiTCP
2 RTTs (Round trip time) được nạp cho mỗi đối tượng
Mỗi đối tượng được chuyển qua từ thời điểm bắt đầu chậm.Kết nối bền vững
Một vài đơn vị RTTs và được bắt đầu chậm hơn
1.1.5 Cấu trúc cơ bản của HTTP
Có hai dạng thông điệp HTTP là: Request và Responese.
Cấu trúc thông điệp yêu cầu của HTTP: Request
HTTP request message: ASCII
GET /images/penguin.gif HTTP/1.0 User-Agent: Mozilla/0.9.4 (Linux 2.2.19) Host: www.kernel.org
Accept: text/html, image/gif, image/jpeg Accept-Encoding: gzip
Accept-Language: en Accept-Charset: iso-8859-1,*,utf-8 Cookie: B=xh203jfsf; Y=3sdkfjej
<cr><lf>
(a) Trong đó:
GET /somedir/page.html HTTP/1.0: Dòng yêu cầu có thể cócác lệnh HEAD, GET, POST
Trang 22 User-agernt : Phần mềm tương tác người dùng làMozilla/0.9.4(Linux 2.2.19).
Chấp nhận được các lệnh : Text/html, image/gif, image/jpeg
Ngôn ngữ có thể chấp nhận là : English
<cr><lf> : Mã kết thúc
(b)
Hình 2.2: (a) và (b) Cấu trúc HTTP request message
Cấu trúc thông điệp trả lời của HTTP: Responese
HTTP/1.0 200 OK Date: Thu, 06 Aug 1998 12:00:15 GMT Server: Apache/1.3.0 (Unix)
Last-Modified: Mon, 22 Jun 1998 …
Content-Length: 6821 Content-Type: text/html
Trang 23 Sau dòng trạng thái là các dòng đầu mô tả ngày tháng, máychủ, ngày cuối cùng cập nhật và kích thước tệp tin cùng vớinội dung là tệp tin loại gì.
<cr><lf>: Phần kết thúc của giao thức
data data data data data…: Phần dữ liệu đã yêu cầu
Các mã trạng thái cơ bản của HTTP
Trong lần đầu liên kết, thông điệp server -> client trả lại các mãthông báo trạng thái sau:
200 OK: Yêu cầu được giải quyết, đối tượng được yêu cầu sẽđáp ứng muộn hơn như thông báo trong thông điệp này
301 Moved Permanently: Đối tượng được yêu cầu đã dichuyển đến vị trí mới, vị trí này sẽ được thông báo lại trongthông điệp này
400 Bad Request: Server không hiểu yêu cầu trong thông điệpnhận được
404 Not Found: Tài liệu được yêu cầu không tìm thấy trongServer này
505 HTTP Version Not Supported
1.2 Giao thức HTTP 1.1
1.2.1 Phiên bản HTTP 1.1
Giao thức HTTP là một giao thức cho tầng ứng dụng, phân phát,cộng tác, siêu thông tin hệ thống Nó là một đặc điểm chung, không trạngthái, giao thức hướng đối tượng mà có thể được sử dụng cho một số nhiệm
vụ như là tên máy chủ và phân phát đối tượng hệ thống quản lý, thông quacác mở rộng của các phương thức yêu cầu Một đặc trưng của HTTP làkiểu và sự điều chỉnh của dữ liệu, cho phép hệ thống được xây dựng khôngphụ thuộc vào dữ liệu được truyền đi
Trang 241.2.2 Request
Một thông điệp Request từ phía Client tới Server bao gồm có dòngđầu của thông điệp đó, phương thức để áp dụng đối với tài nguyên, mẫu tàinguyên và phiên bản giao thức được sử dụng
Request = Request-Line *(general-header | request-header
| entity-header )
CRLF [ message-body ]
1.2.2.1 Request-Line
Line bắt đầu với một mã phương thức, theo sau là URI và phiên bản giao thức và kết thúc với CRLF Các thành phần ngăncách nhau bởi ký tự trống
Request-Request-Line = Method SP Request-URI SP HTTP-Version CRLF
Danh sách các phương thức cho phép bởi một tài nguyên có thể đượcphân loại trong trường header cho phép Mã trả lại của Responese luôn
Trang 25luôn thông báo cho Client, một phương thức hiện tại được cho phép trênmột nguồn tài nguyên, từ khi tập các phương thức cho phép có thể thay đổimột cách linh động Máy chủ sẽ trả lại mã trạng thái 405 (không cho phépphương thức) và 501(không được phép thi hành) nếu phương thức khôngđược công nhận hay không được thi hành bởi máy chủ.
Các phương thức GET, HEAD phải được xác nhận bởi mục đíchchung của các Server Tất cả các phương thức khác là các thành phần, tuynhiên, nếu các phương thức được thi hành, chúng phải được thực thi với ýnghĩa đặc biệt
1.2.2.3 Request-URI
Request-URI là một chuỗi định dạng tài nguyên theo đó nó đáp ứngyêu cầu
Request-URI = "*" | absoluteURI | abs_path
Có bốn lựa chọn đối với Requesst-URI là phụ thuộc tự nhiên vàoRequest Dấu hoa thị “*” nghĩa là ở đó Request không được ứng dụng vớitài nguyên liên quan, nhưng để máy chủ hiểu được và chỉ được phép khiphương thức sử dụng không cần thiết đáp ứng tài nguyên
Dạng URI xác thực được yêu cầu khi Request được khởi tạo tớiproxy Proxy được yêu cầu để tới Request hoặc Service từ một nơi lưu trữhợp lệ và trả lại Response Lưu ý, ở đó proxy có thể tiến tới yêu cầu thẳngtới một proxy khác hay trực tiếp tới một máy chủ xác định bằng một URIxác thực Thay vào đó để tránh lặp lại yêu cầu, một proxy phải có khả năngnhận ra tất cả các tên của Server bao gồm các alias, sự thay đổi nội bộ và sốđịa chỉ IP Ví dụ:
Để cho phép truyền tới URI xác thực trong tất cả các Request trongphiên bản tiếp theo của HTTP, tất cả HTTP/1.1 Server phải truy cập địa chỉ
Trang 26URI xác định từ các Request, thậm chí thông qua HTTP/1.1 các Client sẽchỉ sinh ra chúng trong các Request tới các proxy.
Dạng chung nhất của Request-URI là ở đó sử dụng để nhận biết tàinguyên trên Server hay Gateway Trong trường hợp này đường dẫn xácđịnh của URI phải được truyền đi như là Request-URI và mạng cục bộ củaURI phải được trong trường Host header Ví dụ một Client muốn nhận mộttài nguyên trực tiếp từ Server sẽ tạo một kết nối TCP tới cổng 80 của Host
www.w3.org và gửi các dòng:
GET /pub/WWW/TheProject.html HTTP/1.1
Host: www.w3.org
1.2.2.4 Nhận dạng tài nguyên bởi một Request
Yêu cầu nhận dạng tài nguyên bởi Internet request được xác địnhbởi hai lần kiểm tra Request-URI và trường Host header
Một máy chủ gốc ở đó không cho phép các tài nguyên khác bởi yêucầu host có thể bỏ qua giá trị trường header Host khi xác định tài nguyênnhận dạng bởi HTTP/1.1 yêu cầu
Một máy chủ gốc mà phân biệt được các tài nguyên cơ bản trênyêu cầu host phải sử dụng các luật sau đây để xác định tài nguyên yêu cầutrên HTTP/1.1 request
Nếu Request-URI là một địa chỉ URI xác định, host là mộtphần của Request-URI Một vài giá trị trường header Hosttrong request phải được bỏ qua
Nếu Request-URI không là một URI xác định và request baogồm trường header Host, host được xác định bởi giá trịtrường header Host
Nếu host được xác định bằng luật 1 hoặc luật 2 là host khônghợp lệ trên server, thì response phải là 400(Bad Request) lỗi
Trang 27Dễ nhận thấy rằng HTTP/1.0 request ở đó thiếu một trường Hostheader có thể cố gắng để sử dụng các heuristis trong việc xác định chínhxác nguồn tài nguyên được yêu cầu.
1.2.2.5 Request Header Fields
Các trường request-header cho phép Client chuyển thêm thông tinliên quan tới request và liên quan tới Client đó tới Server Những thànhphần này đóng vai trò như là yêu cầu bổ sung, với nghĩa tương đương đểcác tham số của phương thức ngôn ngữ lập trình yêu cầu
request-header = Accept | Accept-Charset
| Accept-Encoding
| Accept-Language | Authorization
Trang 28tất cả các thành phần trong truyền thông nhận ra chúng là các trườngRequest-header.
1.2.3 Response
Sau khi nhận và phiên dịch một thông điệp Request, Server sẽ phúcđáp với một thông điệp HTTP Response
Response = Status-Line *(( general-header
Status-Line = HTTP-Version SP Status-Code SP Reason-PhraseCRLF
1.2.3.1.1 Mã trạng thái và nguyên nhân
Thành phần Status-Code là một mã kết quả gồm 3 số nguyên.Reason-Phrase được sử dụng cho một mô tả nguyên bản ngắn của Status-Code Status-Code là được mong đợi với việc sử dụng bởi nhiều thiết bị tựđộng và Reason-Phrase là được mong đợi đối với người dùng Client khôngyêu cầu để xem xét hoặc hiển thị Reason-Phrase
Số đầu của Status-Code định nghĩa lớp của Response Hai số saukhông có vai trò phân loại Sau đây là 5 giá trị cho số đầu tiên:
1xx: Thông tin Request nhận được, tiếp tục xử lý
2xx: Thành công – Thao tác nhận thành công, hiểu và chấp
Trang 29 3xx: Điều hướng – phải được sắp xếp để hoàn thành yêu cầu.
4xx: Lỗi Client – Resquest chứa lỗi cú pháp hoặc không thỏamãn
Trang 30| "413" Request Entity Too Large
| "414" Request-URI Too Large
| "500" Internal Server Error
Trang 311.2.3.2 Các trường Header của Response
Các trường Response-header cho phép Server chuyển thêm thông tinliên quan Response mà không làm thay đổi trong Status-Line Các trườngHeader này chuyển thông tin liên quan tới Server và liên quan tới sự truycập xa hơn để nhận ra tài nguyên bởi Request-URI
đã được định sẵn ngữ nghĩa của các trường Response-header nếu tất cả cácthành phần trong truyền thông nhận ra chúng với các trường Response-header
Trang 32động điều khiển - đặc biệt là các hệ thống thông minh như rôbốtchẳng hạn - kỹ thuật xử lý ảnh sẽ là một phần không thể thiếuđược.
Xử lý ảnh là một lĩnh vực khó, liên quan đến nhiều các lĩnh vựckhác như: lý thuyết thông tin, lý thuyết thống kê, trí tuệ nhân tạo,nhận dạng … Tuy nhiên ở đây chúng ta chỉ đề cập đến phần ứngdụng của các lý thuyết trên trong xử lý ảnh mà không đi sâu vàophát biểu toán học phức tạp của những lý thuyết này
Xử lý ảnh có thể phân thành 2 hướng chính: 1) Nâng cao chấtlượng ảnh để có được ảnh “tốt hơn” đối với thị giác của conngười - ví dụ như Photoshop - làm ảnh sáng hơn, nét hơn, lọcnhiễu ; 2) Phân tích để tìm ra những đặc trưng của ảnh sau đó
có thể ra quyết định nhằm thực thi một công việc gì đó, ví dụ: hệthống xử lý vân tay -> tìm ra các đặc trưng để tìm ra đối tượng,Robot có khả năng quan sát thực thi công việc
2.2 Xử lý ảnh số và ứng dụng
Thuật ngữ Xử lý ảnh số (Digital Image Processing) nói chung dùng
để chỉ quá trình xử lý hình ảnh hai chiều bằng máy tính (số), hoặc có thểhiểu rộng ra là quá trình xử lý dữ liệu hai chiều nói chung
Xử lý ảnh được ứng dụng vào rất nhiều các lĩnh vực khác nhau như:
Xử lý ảnh y học, chế tạo robot, hệ tự động hóa
Trang 33Dũng, Lương Chi Mai ) cho phép nhận dạng chữ in, tự độngchuyển ảnh quét tài liệu thành văn bản.
Nhận dạng vân tay: Trong xác định tội phạm, trong các hệthống bảo mật, an toàn
Hệ thống bắn tập súng bộ binh: Trợ giúp việc huấn luyệnngắm, bắn đối với súng bộ binh (sản phẩm MBT03(2006) sảnxuất tại trung tâm kỹ thuật Vũ khí - học viện KTQS )
Tự động ghi biển số xe: Tự động ghi vé theo biển số xe (Thựchiện tại từ tháng 8/2006 tại HVKTQS, chương trình được làmtại Trung tâm kỹ thuật mô phỏng)
Về cơ bản các hệ thống xử lý ảnh được thực hiện qua các côngđoạn chính như sau:
Thu nhận và Số hóa: Ngày nay nhiều thiết bị số (như máy ảnh
số, webcam …) quá trình thu nhận ảnh bao gồm cả việc sốhóa Việc thu nhận ảnh chỉ liên quan chủ yếu đến thiết bị phầncứng, tuy nhiên việc hiểu được quá trình thu nhận cũng nhưviệc số hóa ảnh sẽ giúp ích chúng ta rất nhiều trong các bước
xử lý tiếp theo
Xử lý, Phân tích ảnh: nhằm nâng cao chất lượng ảnh, tríchchọn những đặc trưng nào đó của ảnh Quá trình này thườngbao gồm nhiều bước xử lý khác nhau như: tăng độ tương phản,lọc nhiễu, làm rõ đường biên, phân đoạn ảnh … Đây là những
kỹ thuật quan trọng, đồng thời cũng là những kỹ thuật kháphức tạp trong việc xử lý ảnh
Trang 34 Chấp hành: Cơ cấu chấp hành cho bài toán đặt ra Tùy thuộcvào bài toán, ảnh sau khi xử lý có thể được trích chọn để nhậndạng, tính toán … đáp ứng yêu cầu đặt ra.
2.3 Biểu diễn ảnh
2.3.1 Ảnh và thị giác người (Visual perception)
Cảm nhận của con người về ảnh (Image) phụ thuộc vào một số cácyếu tố như: Màu sắc (hue), Độ nét (saturation) và Độ sáng (lightness)
Hue (màu sắc): Màu được phân biệt bởi bước sóng khác nhau
đối với mắt người Blue: 430 đến 480; Green: 500 đến 550;Yellow: 570 đến 600; Red: >610 nanometers Màu đen, xámhay trắng cũng gọi là màu (color) nhưng không thuộc vào lớpmàu hue
Saturation (Độ nét): Thể hiện mức độ ảnh hưởng của ánh
sáng trắng và màu thực Màu thực có độ nét 100% và đượchiểu là không bị ảnh hưởng của ánh sáng trắng, sự pha trộngiữa ánh sáng trắng và màu thực sẽ cho độ nét từ 0 đến 100%(phai màu và một ví dụ)
Lightness (Độ sáng): Thể hiện độ sáng, tối của ảnh.
Ngoài các yếu tố trên thì chất lượng của ảnh còn phục thuộc vào độtương phản (Constrast) giữa các màu của ảnh
Contrast (Độ tương phản): Là mức độ thay đổi (cường độ
sáng) từ vùng này tới vùng khác của ảnh
2.3.2 Biểu diễn màu (Color representation)
Theo các kết quả nghiên cứu người ta thấy rằng có thể tổng hợp màusắc trong tự nhiên thông qua một số màu nào đó, ví dụ có thể tổng hợp mọimàu từ ba màu cơ bản như đỏ (RED), xanh lục (GREEN) và xanh lam(BLUE)
Trang 35Mô hình màu (hay không gian màu) là cách thức biểu diễn màu vàmối quan hệ giữa các thành phần với nhau Có nhiều mô hình màu, môhình CMY, mô hình RGB Trong máy tính người ta dùng mô hình RGB.
Mô hình RGB
Hệ này mô tả màu sắc thông qua 3 thành phần màu cơ bản là Red,
Green và Blue Có thể mô xem xét mô hình RGB trong không gian 3 chiều
như hình 2.4
Mọi điểm nằm trong khối hộp chữ nhật có toạ độ (r,g,b) thể hiện một
màu Màu nằm trên đường chéo (0,0,0) - (1,1,1) (3 thành phần R, G, B
bằng nhau) ->thể hiện mức xám.
Hình 2.4: Mô hình màu RGB
2.3.3 Thu nhận ảnh (Image capture, Representation, and Store)
Ảnh xét về khía cạnh toán học được hiểu như hàm hai biến f(x,y),trong đó giá trị hàm f là màu hoặc mức xám của điểm (x,y) Ảnh thực làliên tục về không gian và màu sắc, tức là:
- f(x,y) R
- và x,y R
Tuy nhiên để có thể lưu trữ và xử lý trên máy tính thì bước đầu tiêncần làm là số hóa ảnh thực
Số hóa (Digitizer): bao gồm 2 chức năng là lấy mẫu (sampling) và
lượng hóa (quantizing)
Trang 36Hình 2.5: a- 512 x 512 mẫu, b - 128 x 128 mẫu,
c - 64 x 64 mẫu và d - 32 x 32 mẫu
Lấy mẫu (Sampling): Với mỗi khoảng cách đều (theo x
hoặc/và theo y) người là lấy một mẫu Cùng một không gianthực, nếu số mẫu càng nhiều thì ảnh càng trung thực
Lượng hóa (Quantizing): Gán màu hay mức xám của mỗi
mấu (có được từ bước trên - còn gọi là điểm ảnh) với một giátrị số Phạm vi số thể hiện màu hoặc mức xám càng lớn thìchất lượng ảnh càng cao