Đề án Phát hiện đối tượng đột nhập dưới sự trợ giúp của Camera

pdf 34 trang yendo 4920
Bạn đang xem 20 trang mẫu của tài liệu "Đề án Phát hiện đối tượng đột nhập dưới sự trợ giúp của Camera", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfde_an_phat_hien_doi_tuong_dot_nhap_duoi_su_tro_giup_cua_came.pdf

Nội dung text: Đề án Phát hiện đối tượng đột nhập dưới sự trợ giúp của Camera

  1.  Đề án tốt nghiệp Phát hiện đối tượng đột nhập dưới sự trợ giúp của Camera
  2. Phát hiện đối tượng đột nhập dưới sự trợ giúp của Camera LỜI CẢM ƠN Sau một thời gian học tập và nghiên cứu em đã hoàn thành đồ án tốt nghiệp với đề tài: “Phát hiện đối tượng đột nhập dưới sự trợ giúp của Camera”. Đầu tiên em xin bày tỏ lòng kính trọng và biết ơn chân thành đến thầy giáo TS.Đỗ Năng Toàn là người trực tiếp hướng dẫn và tạo điều kiện cho em được thực tập tại Viện công nghệ thông tin – Viện khoa học và công nghệ Việt Nam để hoàn thành đồ án tốt nghiệp này. Đồng thời em cũng xin chân thành cảm ơn các thầy cô giáo đang giảng dạy tại Bộ môn Tin học – Trường ĐH dân lập Hải Phòng trong suốt bốn năm học vừa qua đã trang bị cho em những kiến thức cơ bản cần thiết và bổ ích giúp em hoàn thành đồ án tốt nghiệp này cũng như những kỹ năng nghề nghiệp sau này. Em cũng xin chân thành cảm ơn các anh chịtại phòng thí nghiệm thực tại ảo – Viện công nghệ thông tin Việt Nam đã nhiệt tình giúp đỡ em trong quá trình thực tập và tìm kiếm tài liệu. Cuối cùng xin cảm ơn gia đình và bạn bè đã cổ vũ và động viên em trong suốt thời gian vừa qua. Do khả năng có hạn nên nội dung đồ án còn có nhiều khiếm khuyết, sơ sài mong nhận được sự góp ý của thầy cô và các bạn. Hải phòng, ngày tháng năm Sinh viên Bùi Thanh Liêm SV: Bùi Thanh Liêm CT702 ĐH DL HẢI PHÒNG 1
  3. Phát hiện đối tượng đột nhập dưới sự trợ giúp của Camera MỤC LỤC PHẦN MỞ ĐẦU 4 Chƣơng 1: TỔNG QUAN VỀ MỘT HỆ THỐNG XỬ LÝ ẢNH 5 1.1. TỔNG QUAN VỀ MỘT HỆ THỐNG XỬ LÝ ẢNH 5 1.1.1. Xử lý ảnh là gì? 5 1.1.2. Tổng quan về một hệ thống xử lý ảnh 5 1.1.3. Các vấn đề cơ bản trong xử lý ảnh 6 1.1.3.1. Một số khái niệm 6 1.1.3.2. Thu nhận ảnh 6 1.1.3.3. Biểu diễn ảnh 6 1.2. TỔNG QUAN VỀ VIDEO 7 1.2.1.Một số khái niệm 7 1.2.2.Một số thuộc tính đặc trƣng của video 8 1.2.2.3. Hình dáng (Shape) 9 1.2.2.4. Chuyển động (Motion) 9 Chƣơng 2: PHÁT HIỆN ĐỐI TƢỢNG ĐỘT NHẬP 9 2.1. BÀI TOÁN PHÁT HIỆN ĐỐI TƢỢNG ĐỘT NHẬP 9 2.2. PHÁT HIỆN ĐỐI TƢỢNG ĐỘT NHẬP DỰA VÀO PHẦN CỨNG 10 2.3. PHÁT HIỆN ĐỐI TƢỢNG ĐỘT NHẬP DỰA VÀO CÁC KỸ THUẬT XỬ LÝ ẢNH 10 2.3.1 Các kỹ thuật trừ ảnh 10 2.3.1.1 Kỹ thuật trừ ảnh dựa vào điểm ảnh 11 2.3.1.2 Trừ ảnh phân khối 12 2.3.1.3 Phƣơng pháp biểu đồ 14 2.3.1.3.1. Biểu đồ toàn cục 15 2.3.1.3.2. Biểu đồ cục bộ 16 2.3.1.4 Phƣơng pháp thống kê 17 2.3.1.5. Trừ ảnh dựa vào đặc trƣng 18 2.3.1.5.1. Đặc trƣng là vector chuyển động 18 2.3.2 Kỹ thuật trừ nền(Background subtraction) 18 SV: Bùi Thanh Liêm CT702 ĐH DL HẢI PHÒNG 2
  4. Phát hiện đối tượng đột nhập dưới sự trợ giúp của Camera 2.3.2.1. Không gian màu(Color space) 18 2.3.2.2. Mô hình nền (Background modeling) 19 2.3.2.3. Lựa chọn ngƣỡng (Thresholh selection) 19 2.3.2.4. Thao tác trừ (Subtraction operation) 21 Chƣơng 3: CHƢƠNG TRÌNH ỨNG DỤNG DISCOVERY 22 3.1. KỸ THUẬT BẮT GIỮ HÌNH ẢNH QUA CAMERA 22 3.2. PHÂN TÍCH YÊU CẦU BÀI TOÁN VÀ THUẬT GIẢI ĐỀ XUẤT 24 3.3. CÁC HÀM VÀ LỚP CHÍNH TRONG CHƢƠNG TRÌNH 26 3.4. CHỨC NĂNG VÀ CÁCH SỬ DỤNG CHƢƠNG TRÌNH 28 TÀI LIỆU THAM KHẢO 33 SV: Bùi Thanh Liêm CT702 ĐH DL HẢI PHÒNG 3
  5. Phát hiện đối tượng đột nhập dưới sự trợ giúp của Camera PHẦN MỞ ĐẦU Trong thời đại ngày nay công nghệ thông tin hầu nhƣ đã thâm nhập vào toàn bộ các lĩnh vực của đời sống xã hội. Xã hội ngày càng phát triển nên đòi hỏi về nhu cầu về công nghệ thông tin ngày càng cao, vì vậy mà dữ liệu số không còn xa lạ đối với mọi ngƣời. Trong mọi lĩnh vực các ứng dụng công nghệ thông tin đã trợ giúp con ngƣời rất nhiều. Hiện nay, thông tin hình ảnh đóng vai trò rất quan trọng trong trao đổi thông tin, bởi phần lớn các thông tin mà con ngƣời thu nhận đƣợc đều thông qua thị giác. Trong lĩnh vực công nghệ thông tin thì lĩnh vực giám sát tự động đã và đang thu hút đƣợc nhiều sự nghiên cứu. Cùng với sự phát triển của sức mạnh máy tính, các hệ thống giám sát tự động ngày càng tinh vi và hiện đại đã trợ giúp con ngƣời rất nhiều trong việc bảo vệ an ninh, giám sát giao thông, Ở nƣớc ta hiện nay, lĩnh vực giám sát tự động cũng đã có những bƣớc phát triển đáng kể. Tuy nhiên, nó chỉ mới dựa trên nền tảng là phần cứng và cũng chƣa đƣợc ứng dụng nhiều trong thực tế vì điều kiện kinh tế xã hội. Việc giải quyết bài toán này theo hƣớng tiếp cận sử dụng phần mềm chƣa đƣợc quan tâm phát triển. Do vậy em nghiên cứu đề tài: “Phát hiện đối tƣợng đột nhập dƣới sự trợ giúp của Camera”. Một trong những bài toán then chốt của kĩnh vực giám sát tự động, trong khuôn khổ của đồ án em tập trung trình bày về các kỹ thuật trừ ảnh và ứng dụng các kỹ thuật này để giải quyết bài toán phát hiện đối tƣợng đột nhập thông qua WebCam. Nội dung của đồ án gồm các chƣơng sau: Chƣơng 1: Tổng quan về một hệ thống xử lý ảnh Chƣơng 2: Phát hiện đối tƣợng đột nhập Chƣơng 3 : Chƣơng trình ứng dụng SV: Bùi Thanh Liêm CT702 ĐH DL HẢI PHÒNG 4
  6. Phát hiện đối tượng đột nhập dưới sự trợ giúp của Camera Chƣơng 1: TỔNG QUAN VỀ MỘT HỆ THỐNG XỬ LÝ ẢNH 1.1. TỔNG QUAN VỀ MỘT HỆ THỐNG XỬ LÝ ẢNH 1.1.1. Xử lý ảnh là gì? Xử lý ảnh là quá trình thu nhận ảnh nhằm biến đổi từ ảnh này sang ảnh khác cho ra kết quả nhƣ mong muốn Ảnh mong muốn Kết quả Ảnh đầu vào Xử lý ảnh Kết luận Hình 1.1: Quá trình xử lý ảnh 1.1.2. Tổng quan về một hệ thống xử lý ảnh CAMERA Kết quả Thu nhận Tiền Trích chọn Đối ảnh xử lý đặc trƣng sánh SENSOR CSDL Hình 1. 2 : Các giai đoạn chính trong xử lý ảnh SV: Bùi Thanh Liêm CT702 ĐH DL HẢI PHÒNG 5
  7. Phát hiện đối tượng đột nhập dưới sự trợ giúp của Camera 1.1.3. Các vấn đề cơ bản trong xử lý ảnh 1.1.3.1. Một số khái niệm Pixel (Picture Element): phần tử ảnh Ảnh Mức xám(Grey Level) Lƣợc đồ mức xám(Histogram) 1.1.3.2. Thu nhận ảnh Để đƣa ảnh vào trong máy tính chúng ta có thể dùng các thiết bị thu nhận nhƣ: camera cộng với bộ chuyển đổi tƣơng tự số AD(Analog to Digital) hoặc máy quét chuyên dụng. 1.1.3.3. Biểu diễn ảnh Sau quá trình số hoá ta sẽ thu đƣợc một ma trân tƣơng ứng với ảnh cần xét, mỗi phần tử của ma trận tƣơng ứng với một điểm ảnh. Các điểm này thƣờng đƣợc đặc trƣng bởi toạ độ màu RGB tƣơng ứng với nó trong hệ toạ độ màu cơ bản sau: G 255 Thi(R,G,B)B Ii(R,G,B)B i (R,G,B)B R B 255 255 Hình 1.4:Hệ toạ độ màu RGB. Ảnh có thể đƣợc biểu diễn theo một trong hai mô hình sau: Mô hình RASTER: SV: Bùi Thanh Liêm CT702 ĐH DL HẢI PHÒNG 6
  8. Phát hiện đối tượng đột nhập dưới sự trợ giúp của Camera Ảnh đƣợc biểu diễn dƣới dạng ma trận các điểm ảnh. Mô hình RASTER phù hợp cho việc thu nhận và hiển thị ảnh. Mô hình VECTOR: Ngƣời ta sử dụng hƣớng vector của các điểm ảnh lân cận để mã hoá và tái tạo ảnh ban đầu. Khi xử lý các ảnh Raster chúng ta có thể quan tâm Điểm 4- láng giềng và điểm 8 láng giềng: . . . . . . . . . . · · · · · · · o · · o · · · · · · · . . . . . . . . . . Hình 1.5: Điểm 4 - láng giềng và 8 - láng giềng 1.2. TỔNG QUAN VỀ VIDEO 1.2.1.Một số khái niệm Video là một tập hợp các khung hình(Frames), mỗi khung hình là một ảnh. Shot(lia) là một đơn vị cơ sở của video. Một lia là một đơn vị vật lý của dòng video, gồm chuỗi các khung hình liên tiếp, không thể chia nhỏ hơn. Scene(cảnh) là các đơn vị logic của dòng video. Cấu trúc phân cấp của video đƣợc mô tả trong hình vẽ: Video Scene Shots Lia Frame s Hình 1.6: Cấu trúc phân cấp của video SV: Bùi Thanh Liêm CT702 ĐH DL HẢI PHÒNG 7
  9. Phát hiện đối tượng đột nhập dưới sự trợ giúp của Camera 1.2.2.Một số thuộc tính đặc trƣng của video Video có 4 đặc tính chung là: màu(color), kết cấu(texture), hình dáng(shape), chuyển động(motion). 1.2.2.1. Màu(Color) Màu là một thuộc tính đặc trƣng của ảnh. Biểu đồ màu, biểu diến sự phân bố màu, là một đặc trƣng màu phổ biến nhất hiện nay. Biểu đồ màu không phụ thuộc vào sự quay, dịch chuyển ảnh cũng nhƣ chiều nhìn ảnh. Tuy nhiên với biểu đồ màu không biểu diễn thông tin về không gian phân bố các điểm ảnh, do đó hai điểm ảnh có cùng biểu đồ màu có thể lại có nội dung khác nhau. Hình 1.8: Các ảnh khác nhau nhưng có cùng biểu đồ màu P(r k ) P(rk) Dark image Bright image rk rk (a) (b) P(rk) P(rk) Low-contrast image High-contrast image rk rk (c) (d) Hình 1.9: Các ảnh khác nhau nhưng có cùng biểu đồ màu SV: Bùi Thanh Liêm CT702 ĐH DL HẢI PHÒNG 8
  10. Phát hiện đối tượng đột nhập dưới sự trợ giúp của Camera 1.2.2.2. Kết cấu (Texture) Đây là một đặc trƣng quan trọng của bề mặt, nơi xảy ra việc lặp lại mẫu cơ bản. Có hai dạng biểu diễn texture phổ biến đó là : biểu diễn dạng ma trận đồng thời và biểu diễn Tamura. 1.2.2.3. Hình dáng (Shape) Các đặc trƣng hình dánh có thể đƣợc biểu diễn sử dụng phân tích truyền thống nhƣ bất biến mômen, mô tả Fourier, mô hình học tự động quay lui, và các thuộc tính hình học. 1.2.2.4. Chuyển động (Motion) Motion là một thuộc tính quan trọng của video. Thông tin về chuyển động có thể đƣợc sinh ra bằng các kỹ thuật ghép khối hoặc luồng ánh sáng. Chƣơng 2: PHÁT HIỆN ĐỐI TƢỢNG ĐỘT NHẬP Có 2 cách tiếp cận chính để giải quyết bài toán phát hiện đối tƣợng đột nhập đó là: -Dựa hoàn toàn vào phần cứng. -Dựa vào các kỹ thuật xử lý ảnh. 2.1. BÀI TOÁN PHÁT HIỆN ĐỐI TƢỢNG ĐỘT NHẬP Sự phát triển của công nghệ thông tin đẩy nhanh sự phát triển của các lĩnh vực xã hội khác. Với sự phát triển của phần cứng cả về phƣơng diện thu nhận và hiển thị cũng nhƣ tốc độ xử lý đã mở ra nhiều phƣơng hƣớng cho sự phát triển phần mềm. Trong đó phải kể đến lĩnh vực giám sát tự động. Một trong những bài toán quan trọng và then chốt là bài toán phát hiện đối tƣợng đột nhập dƣới sự trợ giúp của camera. Ở nƣớc ta hiện nay, việc giải quyết bài toán phát hiện đối tƣợng đột nhập còn chủ yếu dựa vào phần cứng và chƣa đƣợc ứng dụng nhiều trong thực tế. Trong phần tiếp theo chúng ta sẽ tìm hiểu từng cách tiếp cận để giải quyết bài bài toán này. SV: Bùi Thanh Liêm CT702 ĐH DL HẢI PHÒNG 9
  11. Phát hiện đối tượng đột nhập dưới sự trợ giúp của Camera 2.2. PHÁT HIỆN ĐỐI TƢỢNG ĐỘT NHẬP DỰA VÀO PHẦN CỨNG Trong cách tiếp cận này các hệ thống giám sát tự động này thƣờng sử dụng các camera có gắn chip cảm ứng và đặt tại các nơi nhạy cảm hoặc sử dụng hệ thống các tia quét. Mỗi camera có thể đƣợc gắn với các thiết bị báo động, khi phát hiện thấy có biến động thì nó sẽ tự động báo động. Ƣu điểm của hƣớng tiếp cận sử dụng phần cứng là cho độ chính xác và độ tin cậy cao, tốc độ xử lý nhanh. Tuy nhiên nó có một nhƣợc điểm là chi phí cho một hệ thống giám sát có thể rất lớn không phù hợp với mức thu nhập của ngƣời Việt Nam hiện nay. 2.3. PHÁT HIỆN ĐỐI TƢỢNG ĐỘT NHẬP DỰA VÀO CÁC KỸ THUẬT XỬ LÝ ẢNH Ta có thể sử dụng nhiều kỹ thuật xử lý ảnh khác nhau để phát hiện ra đối tƣợng đột nhập nhƣ sử dụng phép trừ nền (background subtraction), dò biên (edge detection), 2.3.1 Các kỹ thuật trừ ảnh Ký hiệu D(f1, f2) là sự sai khác nhau giữa hai khung hình f1,f2. Sự sai khác này lớn hơn một ngƣỡng nào đó sẽ xác định đƣợc có đối tƣợng chuyển động giữa hai khung hình. Sự thay đổi trên khung hình đƣợc tính toán trên một đặc trƣng nhất định. Ngƣời ta thƣờng dùng đặc trƣng là nội dung màu sắc, là biểu đồ (biểu đồ màu, biểu đồ mức xám), hoặc đôi khi là cạnh, vector chuyển động, góc hay kết cấu (texture). Nhƣ vậy khi thực hiện việc phát hiện có sự biến động giữa các khung hình, trƣớc hết ta phải xác định đặc trƣng mang ra so sánh, thứ hai là xác định công thức trừ ảnh D, và cuối cùng là quyết định ngƣỡng sai khác Tb. Giá trị ngƣỡng này thƣờng đƣợc xác đinh trƣớc. Hoặc đôi khi ngƣời ta cũng dùng ngƣỡng thích ứng. Chỉ những sai khác lớn hơn ngƣỡng Tb mới đƣợc xem xét và xử lý. Hiện nay có nhiều kỹ thuật trừ ảnh và có thể chia thành 5 loại nhƣ sau: SV: Bùi Thanh Liêm CT702 ĐH DL HẢI PHÒNG 10
  12. Phát hiện đối tượng đột nhập dưới sự trợ giúp của Camera - Trừ ảnh dựa vào điểm ảnh. - Trừ ảnh dựa vào khối. - Trừ ảnh dựa vào biểu đồ. - Trừ ảnh dựa vào đặc trƣng. - Trừ ảnh dựa vào thống kê. Để thống nhất chúng ta giả sử xét hai ảnh I1 và I2 có cùng kích thƣớc. Trừ hai ảnh I1 và I2 là thực hiện việc tính toán sự sai khác giữa hai ảnh đó. 2.3.1.1 Kỹ thuật trừ ảnh dựa vào điểm ảnh Phƣơng pháp đơn giản nhất để trừ hai khung hình là tính giá trị biểu diễn sự chênh lệch tổng cộng về cƣờng độ của tất cả các điểm ảnh tƣơng ứng trên hai khung hình: 1 X 1 Y 1 D f1, f 2   f1 x, y f 2 x, y X Y x 0 y 0 So sánh giá trị tìm đƣợc với ngƣỡng chuyển cảnh Tb để xác định xem có chuyển cảnh hay không. Kỹ thuật trừ ảnh dựa vào điểm ảnh rất đơn giản. Nhƣợc điểm lớn nhất của kỹ thuật này là không phân biệt đƣợc sự thay đổi lớn trong một vùng ảnh nhỏ và thay đổi nhỏ trong một vùng ảnh lớn. Nói chung tất cả các kỹ thuật trừ giá trị điểm ảnh đều nhạy với nhiễu và các di chuyển camera. Có thể cải tiến kỹ thuật này bằng cách đếm tổng số điểm ảnh có thay đổi lớn hơn một ngƣỡng nào đó và so sánh giá trị tính đƣợc với một ngƣỡng khác để phát hiện chuyển cảnh. 1 , Nếu f x, y f x, y T DP x, y 1 2 1 0 , ngƣợc lại SV: Bùi Thanh Liêm CT702 ĐH DL HẢI PHÒNG 11
  13. Phát hiện đối tượng đột nhập dưới sự trợ giúp của Camera 1 X 1 Y 1 D f1, f2  DP x, y X Y x 0 y 0 Nếu tỷ lệ số điểm ảnh thay đổi D(f1,f2) lớn hơn ngƣỡng T1 thì đã có sự chuyển cảnh do cắt. Tuy các thay đổi không liên quan trong khung hình đã đƣợc loại bỏ bớt nhƣng hƣớng tiếp cận này vẫn nhạy với các di chuyển camera và đối tƣợng. Chẳng hạn, khi camera quay theo đối tƣợng, rất nhiều điểm ảnh đƣợc cho là thay đổi, dù cho có ít điểm ảnh dịch chuyển. Có thể giảm tác động này bằng cách sử dụng một bộ lọc trơn: trƣớc khi so sánh, mỗi điểm ảnh đƣợc thay thế bằng giá trị trung bình của các điểm lân cận. Một nhƣợc điểm khác của kỹ thuật trừ điểm ảnh là độ nhạy của điểm ảnh với việc chiếu sáng. Khi đó ngƣời ta điều chỉnh độ sai khác giá trị điểm ảnh bằng cách chia nó cho cƣờng độ của điểm ảnh trên khung hình thứ hai. Hampapur[3] gọi ảnh thu đƣợc từ độ chênh lệch hiệu chỉnh là ảnh chromatic: X 1 Y 1 1 f1 x, y f2 x, y D f1, f2   X Y x 0 y 0 f2 x, y Phƣơng pháp trừ giá trị điểm ảnh là tính toán từ các giá trị điểm ảnh, nhƣng có thể mở rộng đối vƣới các ảnh màu. Ví dụ với ảnh màu RGB, ta tính tổng có trọng số các sai khác của ba giá trị Red, Green, Blue của các điểm ảnh. X Y D f1, f2   wi f1i x, y f2i x, y x 0 y 0 i R,G,B 2.3.1.2 Trừ ảnh phân khối Sử dụng các đặc tính độc lập với các di chuyển của camera và đối tƣợng. Mỗi khung hình đƣợc chia làm b khối. Các khối trên khung hình f1 đƣợc so sánh với các khối tƣơng ứng trên khung hình f2. Về cơ bản, độ chênh SV: Bùi Thanh Liêm CT702 ĐH DL HẢI PHÒNG 12
  14. Phát hiện đối tượng đột nhập dưới sự trợ giúp của Camera lệch giữa hai khung hình đƣợc tính nhƣ sau: b D f1, f 2 Ck .DP f1, f 2 ,k k 1 Trong đó Ck là hệ số cho trƣớc, DP(f1,f2, k) là độ chênh lệch giữa hai khối thứ k của hai khung hình f1 và f2. Kasturi[4] đƣa ra công thức: 2 2     1k 2k 1k 2k 2 2 k  1k . 2k Trong đó 1k , 2k là giá trị cƣờng độ trung bình của khối thứ k 1k,2k là độ chênh lệch tƣơng ứng với hai khối đó. 1 DP f1 , f 2 ,k 0 Một cắt cảnh xảy ra khi số các khối thay đổi đủ lớn, nghĩa là D(f1,f2) > T2 và Ck=1 cho tất cả các khối. Một hƣớng tiếp cận khác nhau với kỹ thuật trừ ảnh phân phối do Shaharay[5] đƣa ra. Ông chia khung hình thành 12 miền và tìm miền thích hợp nhất cho mỗi miền ở khung hình kia. Độ chênh lệch tính bằng kỹ thuật trừ ảnh dựa vào điểm ảnh của từng miền đƣợc sắp xếp. Tổng có trọng số của các chênh lệch đã đƣợc sắp xếp cho ta kết quả D cuối cùng. Xiong[6] phát triển phƣơng pháp trừ ảnh, gọi là so sánh thực, phát hiện chuyển cánh do ngắt chỉ bằng viếc so sánh một phần của ảnh. Phƣơng pháp này chỉ ra rằng, sai sót mắc phải hoàn toàn có thể bỏ qua nếu ít hơn một nửa số các cửa sổ cơ sở (các ô vuông chồng nhau) đều đƣợc kiểm tra. Với giả thiết rằng, trong trƣờng hợp thay đổi nhiều nhất giữa hai khung hình thì kích thƣớc các cửa sổ đƣợc chọn đủ lớn để bất biến với các thay đổi không làm vỡ và đủ nhỏ để có thể chứa thông tin về không gian chừng nào có thể. Các cửa sổ cơ sở đƣợc so sánh và tính độ chênh lệch mức xám hoặc giá trị màu của điểm ảnh. Khi giá trị chênh lệch lớn hơn một ngƣỡng khác thì sự chuyển cảnh SV: Bùi Thanh Liêm CT702 ĐH DL HẢI PHÒNG 13
  15. Phát hiện đối tượng đột nhập dưới sự trợ giúp của Camera so ngắt đã xảy ra. Thực nghiệm cho thấy rằng hƣớng tiếp cận này cho tốc độ nhanh hơn phƣơng pháp so sánh từng cặp điểm. B00 B0j B0n Bi0 Bij Bin Bm0 Bmj Bmn Hình 2.1:Các cửa sổ cơ sở trong thuật toán so sánh thực Một số nghiên cứu đã mở rộng ý tƣởng lấy mẫu theo không gian và thời gian. Thuật toán có sử dụng bƣớc nhảy phát hiện cả chuyển cảnh đột ngột và chuyển cảnh dần dần. Thuật toán này so sanh hai khung hình i và j, ở đó j=i+step. Nếu không có sự thay đổi đáng kể nào, thì chuyển sang so sánh các khung hình cách nửa bƣớc nhảy, nghĩa là so sánh hai khung hình i+step/2 và j+step/2. Ngƣợc lại tìm kiếm nhị phân đƣợc dùng để định vị chuyển cảnh. Nếu i và j liên tiếp nhau và sự chênh lệch của hai khung hình lơn hơn ngƣỡng thì đó là chuyển cảnh đột ngột do ngắt. Nếu không, sử dụng thuật toán trừ ảnh dựa trên việc phát hiện cảnh để phát hiện chuyển cảnh dần dần. Thuật toán này phụ thuộc vào bƣớc nhảy step: bƣớc nhảy lớn thì tăng hiệu quả nhƣng cũng tăng khả năng sai sót, bƣớc nhảy nhỏ quá sẽ bỏ qua những chuyển cảnh dần dần. Thuật toán này có độ nhạy rất cao với sự di chuyển của đối tƣợng và sự di chuyển của camera. 2.3.1.3 Phƣơng pháp biểu đồ Một bƣớc xa hơn để giảm ảnh hƣởng của sự chuyển camera và đối tƣợng và thực hiện trừ ảnh dựa vào biểu đồ. Biểu đồ mô tả sự phân bố giá trị điểm ảnh cuả khung hình. Ý tƣởng của cách tiếp cận này là các ảnh có nền SV: Bùi Thanh Liêm CT702 ĐH DL HẢI PHÒNG 14
  16. Phát hiện đối tượng đột nhập dưới sự trợ giúp của Camera không đổi và đối tƣợng không đổi sẽ có chênh lệch ít trong biểu đồ.Hơn nữa biểu đồ bất biến với việc quay ảnh và thay đổi ít khi góc nhìn thay đổi. Có thể dùng biểu đồ màu hoặc biểu đồ mức xám để tính sự sai khác giữa hai khung hình. Biểu đồ màu(mức xám) của khung hình I là một vector G chiều Hi =(Hi(1), Hi(2), , Hi(G)). Trong đó G là số màu(mức xám), Hi(j) là số điểm ảnh của khung hình i có màu(mức xám) j. Phƣơng pháp trừ ảnh dựa trên biểu đồ có thể sử dụng biểu đồ toàn cục hoặc biểu đồ cục bộ. Biểu đồ toàn cục là biểu đồ biểu diễn sự phân bố giá trị màu(mức xám) của toàn bộ khung hình. Còn biểu đồ cục bộ chỉ mô tả sự phân bố của một phần nào đó của khung hình mà thôi. 2.3.1.3.1. Biểu đồ toàn cục Phƣơng pháp đơn giản nhất là tính tổng sự sai khác các cột của biểu đồ G D f1, f 2  H1 k H 2 k k 0 Có thể sử dụng thêm trọng số nếu có một số màu(mức xám) quan trọng hơn với mục tiêu so sánh. G D f1, f2  w k H1 k H2 k k 0 Trong đó W(k) là trọng số ứng với giá trị màu (mức xám) k. Hình 2.2:So sánh biểu đồ giữa hai ảnh SV: Bùi Thanh Liêm CT702 ĐH DL HẢI PHÒNG 15
  17. Phát hiện đối tượng đột nhập dưới sự trợ giúp của Camera Các thứ ba là sử dụng phần giao nhau giữa hai biểu đồ. Vùng biểu đồ chồng nhau, phần gạch chéo trong hình 2.2, cho biết độ tƣơng tự về nội dung hai ảnh có thể định nghĩa nhƣ sau: G S f1, f2 min H1 k , H 2 k k 0 Độ tƣơng tự còn có thể định nghĩa nhƣ sau: G  min H1 k , H 2 k k 0 S f1, f2 G  max H1 k , H 2 k k 0 Nhƣ vậy dựa vào phần giao nhau của hai biều đồ, có thể tính độ chênh lệch biểu đồ hai khung hình theo công thức: G  min H1 k , H 2 k k 0 D f1, f2 1 S f1, f2 1 G max H1 k , H 2 k k 0 2.3.1.3.2. Biểu đồ cục bộ Phƣơng pháp trừ ảnh dựa vào biểu đồ là phƣơng pháp ít chịu ảnh hƣởng của nhiễu và di chuyển đối tƣợng. Nhƣng có một số trở ngại: + Biểu đồ chỉ mô tả sự phân bổ các giá trị màu hay mức xám mà không bao hàm bất cứ thông tin nào về không gian. Hai ảnh có cùng biểu đồ màu nhƣng có nội dung khác nhau. + Trở ngại khác là rất có thể các vùng ảnh nhỏ khi thay đổi sẽ gây chú ý nhƣng lại không có vai trò gì trong biểu đồ và do đó có thể bị bỏ qua khi thực hiện trừ ảnh. Để giải quyết một số trở ngại của phƣơng pháp trừ ảnh chúng ta sẽ kết hợp trừ ảnh dựa vào biểu đồ với kỹ thuật trừ ảnh phân khối. SV: Bùi Thanh Liêm CT702 ĐH DL HẢI PHÒNG 16
  18. Phát hiện đối tượng đột nhập dưới sự trợ giúp của Camera Trừ ảnh phân phối quan tâm đến thông tin về không gian. Về cơ bản phƣơng pháp này tốt hơn việc so sánh từng cặp điểm ảnh, nhƣng nó vẫn chịu tác động của sự di chuyển camera và di chuyển của đối tƣợng bằng cách kết hợp hai ý tƣởng, chúng ta vừa có thể giảm đƣợc sự tác động của các di chuyển camera và đối tƣợng, vừa sử dụng thông tin về không gian ảnh. Do đó cho kết quả phân đoạn tốt hơn. Ý tƣởng là chúng ta sẽ chia khung hình thành b khối, đánh số từ 1- b. So sánh biểu đồ của các khối tƣơng ứng rồi tính tổng chênh lệch để có kết quả trừ ảnh cuối cùng. b D f1, f 2  DP f1, f 2 ,k k 1 G DP f1 , f 2  H1 j,k H 2 j,k j 0 Trong đó H(j,k) là giá trị biểu đồ tại màu (mức xám) j ứng với khối thứ k Hƣớng tiếp cận khác trong kỹ thuật trừ ảnh dựa vào biểu đồ cục bộ đƣợc Swanberg đƣa ra. Sự chênh lệch DP(f1,f2,k) giữa các khối đƣợc tính bằng cách so sánh biểu đồ màu RGB sử dụng công thức sau: 2 G H c j,k H c j,k DP f , f ,k 1 2 1 2   c c R,G,B j 0 H2 j,k 2.3.1.4 Phƣơng pháp thống kê Phƣơng pháp sai khác thống kê dựa vào phƣơng pháp trừ giá trị điểm ảnh, nhƣng thay vì tính tổng sự sai khác của tất cả điểm ảnh, ta chia ảnh thành các miền rồi so sánh các đại lƣợng thống kê điểm ảnh của miền đó. Ta sử dụng một giá trị d là ngƣỡng sai khác đƣợc tính giữa hai điểm ảnh tƣơng ứng. Gọi S là tập các điểm ảnh có sai khác lớn hơn d: S x, y f1 x, y f 2 x, y d SV: Bùi Thanh Liêm CT702 ĐH DL HẢI PHÒNG 17
  19. Phát hiện đối tượng đột nhập dưới sự trợ giúp của Camera Độ sai khác giữa hai khung hình đƣợc tính bằng tỷ lệ các điểm ảnh có độ chênh lệch lớn hơn d. S.count D f1, f 2 X Y Chúng ta cũng có thể sử dụng các đại lƣợng thống kê cho từng miền- nhƣ biểu đồ 2.3.1.5. Trừ ảnh dựa vào đặc trƣng 2.3.1.5.1. Đặc trƣng là vector chuyển động Trong các đoạn video, ngƣời ta thƣờng thấy các hiệu ứng do chuyển động của camera , nhƣ pan(quét), zoom(zoom in – phóng to, zoom out – thu nhỏ ), tilt(nghiêng). 2.3.1.5.2. Đặc trƣng là cạnh Một hƣớng tiếp cận khác cho việc phân loại và phát hiện chuyển cảnh là sự phát hiện sự xuất hiện các cạnh (biên cƣờng độ) trong một khung hình, chúng cách các cạnh trong khung hình trƣớc một khoảng nhất định. Kỹ thuật này không chỉ phát hiện mà còn phân loại đƣợc các loại chuyển cảnh : cắt cứng, chồng mờ, fade, wipe. 2.3.2 Kỹ thuật trừ nền(Background subtraction) Kỹ thuật trừ nền thông thƣờng thực hiện việc trừ ảnh hiện tại cho ảnh tham chiếu. Mặc dù vậy một số yếu tố (color, motion, block, v.v ) đƣợc sử dụng trong một số nghiên cứu, phƣơng pháp đề xuất ở đây tận dụng các đặc tính giá trị màu của điểm ảnh trong hai hệ toạ độ màu RGB và RGB chuẩn hoá. 2.3.2.1. Không gian màu(Color space) Hệ thống thị giác của con ngƣời nhận dạng màu sắc của các đối tƣợng dựa trên độ kết tủa màu sắc (chromaticity) và độ chói (luminance). Do đó, chúng ta sử dụng hai hệ toạ độ màu quen thuộc RGB và RGB chuẩn hoá. SV: Bùi Thanh Liêm CT702 ĐH DL HẢI PHÒNG 18
  20. Phát hiện đối tượng đột nhập dưới sự trợ giúp của Camera 2.3.2.2. Mô hình nền (Background modeling) Trong phƣơng pháp đề xuất, chúng ta quan tâm đến các ảnh nền trong hệ toạ độ màu RGB và RGB chuẩn hoá. Chúng ta có thể xác định trung bình và độ lệch tiêu chuẩn của các kênh màu(R,G,B) tại điểm ảnh i trong ảnh tham chiếu. Mỗi điểm ảnh của tham chiếu đƣợc mô hình hóa nhƣ sau: r R R i i i 1 R. f  , , , , I i gi Gi i i i i i I i Gi , , ( 1 ) , I i Bi bi Bi Trong đó: Rfi là bộ dữ liệu của ảnh tham chiếu i ,  là vector giá trị trung bình của các kênh màu tại điểm ảnh I trong hệ toah độ màu RGB và RGB chuẩn hoá.  i , i là vector độ lệch tiêu chuẩn của các kênh màu tại điểm ảnh I trong hệ toạ độ màu RGB và RGB chuẩn hoá. Các phƣơng trình sau đây cho thấy cách tính toán vector giá trị trung bình và độ lệch chuẩn tại điểm ảnh I trong không gian màu RGB và RGB chuẩn hóa: N 1 N 1 1 1 I j ( 2 ) i  I j , i  N j 0 N j 0 1 1  i I i i , i Ii i ( 3 ) N N Trong đó : N là số ảnh đang xét. 2.3.2.3. Lựa chọn ngƣỡng (Thresholh selection) Khi chúng ta quan sát sự thay đổi của các điểim ảnh trong ảnh của cảnh nền tĩnh, chúng đƣợc mô hình hoá một cách đơn giản nhƣ là một phân phối Gaussian. Giá trị ngƣỡng của điểm ảnh i đƣợc ánh xạ bởi hàm của độ lệch tiêu chuẩn của điểm ảnh này SV: Bùi Thanh Liêm CT702 ĐH DL HẢI PHÒNG 19
  21. Phát hiện đối tượng đột nhập dưới sự trợ giúp của Camera Thi . i ,Thi . i và là giá trị ngƣỡng của điểm ảnh I trong các hệ toạ độ màu RGB và Thi Thi RGB chuẩn hoá. Các hằng số ,  cho trƣớc, nó xác định độ tin cậy, còn xác định miền giá trị của ngƣỡng. Chúng ta có thể tính đƣợc giá trị ngƣỡng tại điểm ảnh I một cách đơn giản bằng cách sử dụng , và các hằng số .  i  i Các phƣơng trình (5),(6) là hàm quyết định, nó so sánh sự khác nhau giữa các kênh màu của điểm ảnh I và các giá trị ngƣỡng định trƣớc trong hệ toạ độ màu RGB và RGB chuẩn hoá. 3 ( 5 ) Fi u. Di,c Thi,c c 1 3 ( 6 ) fi u. Di,c Thi,c c 1 Di Ii i Di Ii i ( 7 ) Trong đó: 2 2 2 . x1 x0 y1 y0 z1 z0 .Fi 0 Fi 3 và fi 0 fi 3 là các hàm quyết định mô tả điểm ảnh i trong mỗi không gian màu và c số lƣợng kênh màu. Ở đây, u là một hàm đơn vị bƣớc nhảy và nó bằng 0 hoặc 1. Di và Di là các vector sai khác giữa ảnh hiện tại và ảnh tham chiếu tại điểm ảnh i trong hệ toạ độ màu RGB và RGB chuẩn hoá. Do đó, nếu Di > Thi thì nó là 1. Ngƣợc lại ,nó bằng 0. Sử dụng các phƣơng trình (5), (6) chúng ta có thể xác định điểm ảnh i nhƣ sau: B : Fi c1 s 0 F c H : i 1 ( 3-8 ) Obji s f c B : i 2 0 f c H : i 2 Trong đó B là ảnh nền và BS là ảnh nền ứng với bóng. HS là ảnh phân đoạn đối tƣợng ứng với bóng, H là ảnh phân đoạn đối tƣợng không có bóng. c1,c2 là số lƣợng các kênh màu. Trong hệ toạ độ RGB và RGB chuẩn hoá, thì khoản biến thiên của chúng là 0 c1 3 và 0 c2 3 SV: Bùi Thanh Liêm CT702 ĐH DL HẢI PHÒNG 20
  22. Phát hiện đối tượng đột nhập dưới sự trợ giúp của Camera Phƣơng pháp đã đề xuất sử dụng phƣơng trình (3-8) để phân biệt một cách chính xác H và B bằng cách điều chỉnh c1,c2. 2.3.2.4. Thao tác trừ (Subtraction operation) Thao tác trừ nền đƣợc mô tả nhƣ trong hình vẽ dƣới đây: Hình 2.5: Sơ đồ thuật giải kỹ thuật trừ nền Trong đó i và  i là vector giá trị trung bình và độ lệch tiêu chuẩn của các kênh màu của điểm ảnh I trong hệ toạ độ màu RGB. i và  i là vector giá trị trung bình và độ lệch tiêu chuẩn của các kênh màu tại điểm ảnh i trong hệ toạ độ màu RGB chuẩn hoá. và  là các hằng số ngƣỡng xác định trong mỗi không gian màu. Dấu „-‟ biểu diễn thao tác trừ ảnh hiện tại cho ảnh nền. Dấu „>‟ so sánh sự khác nhau. Phƣơng pháp chúng ta đang xét cũng gần giống với kỹ thuật trừ nền thông thƣờng và có 2 bƣớc: +Bƣớc 1: Xâu chuỗi nền SV: Bùi Thanh Liêm CT702 ĐH DL HẢI PHÒNG 21
  23. Phát hiện đối tượng đột nhập dưới sự trợ giúp của Camera +Bƣớc 2: Trừ nền đã đƣợc xâu chuỗi. Trong bƣớc xâu chuỗi nền chúng ta mô hình hoá nền sử dụng phƣơng trình (1). Tiếp đó chúng ta xác định ngƣỡng tại điểm ảnh I thông qua phƣơng trình (4). Sau khi mô hình nền đƣợc thực hiện trong mỗi không gian màu ta phân biệt đối tƣợng với bóng từ cảnh nền trong hệ toạ độ RGB sử dụng phƣơng trình (5). Tiếp đó chúng ta lƣợng tử hoá ảnh kết quả thành một ảnh nhị phân. Chƣơng 3: CHƢƠNG TRÌNH ỨNG DỤNG DISCOVERY 3.1. KỸ THUẬT BẮT GIỮ HÌNH ẢNH QUA CAMERA Môi trƣờng Windows đã cung cấp cho ta hai cách lập trình với video. Cách thứ nhất dùng VFW(Video For Windows) API. Cách thứ hai dùng lớp AVICap của Windows. VFW API hỗ trợ cho quá trình bắt giữ (capture) video từ webcam. AVICap cung cấp cách tiếp cận dựa trên thông điệp đơn giản, cho phép chúng ta truy cập, điều khiển luồng dữ liệu audio, video. Một ứng dụng xây dựng trên AVICap có một số khả năng nhƣ: - Thu dữ liệu audio, video vào một file có đuôi mở rộng là avi - Kết nối và huỷ kết nối cá thiết bị vào trong thời gian thực thi. - Xem trực tiếp dữ liệu video từ thiết bị đầu vào theo phƣơng pháp preview hoặc overlay. - Chỉ định tốc độ thu dữ liệu. - Hiển thị các dialogbox cho phép ngƣời dùng điều khiển dữ liệu video đầu vào. - Sao chép các hình ảnh và palette lên clipboard. - Thu một ảnh đơn và lƣu dƣới dạng DIB. AVICap hỗ trợ các khả năng thu dữ liệu dƣới dạng một ảnh tĩnh đơn hay theo dạng stream với nhiều frame ảnh. Các frame ảnh có thể có cách nhau một khoảng thời gian xác định hay tuỳ ý. Việc thu các stream ảnh cũng có thể SV: Bùi Thanh Liêm CT702 ĐH DL HẢI PHÒNG 22
  24. Phát hiện đối tượng đột nhập dưới sự trợ giúp của Camera không cần lƣu trữ trên đĩa mà có thể đƣợc sử dụng trực tiếp từ buffer trên bộ nhớ, điều này cho phép lập trình viên mềm dẻo trong việc xử lý trong các ứng dụng khác nhau. Ngoài ra lớp AVICap cho phếp ứng dụng chỉ định các hàm callback đƣợc sử dụng trong quá trình thu hình ảnh . - Status Callback: đƣợc gọi khi có sự thay đổi trạng thái của quá trình thu video. - Error Callback : đƣợc gọi khi có lỗi xảy ra trong quá trình thu video. - Frame Callback : đƣợc gọi trƣớc khi một frame ảnh đƣợc preview. - Video Stream Callback: đƣợc gọi khi thu đƣợc các frame ảnh trong quá trình streaming video. - Audio Stream Callback: đƣợc gọi khi dữ liệu audio đƣợc ghi đầy trong buffer. Khi xây dựng một ứng dụng video dùng lớp AVICap, các ứng dụng thƣờng đƣợc thực hiên theo các thứ tự sau: - Tạo một capture window. - Kết nối vào một capture driver. - Liệt kê các capture driver đã cài đặt trong hệ thống. - Lấy thông tin về khả năng của một capture driver. - Lấy thông tin trạng thái của một capture window. - Trình bày dialogbox để thiết lập các tham số video. - Lấy cũng nhƣ thiết lập các thông số của video format. - Cho phép preview video. - Cho phép overlay video. - Đặt tên cho capture file. - Cấp phát trƣớc vùng nhớ trên đĩa cho capture file. - Định dạng audio capture. - Thay đổi các thông số video capture. SV: Bùi Thanh Liêm CT702 ĐH DL HẢI PHÒNG 23
  25. Phát hiện đối tượng đột nhập dưới sự trợ giúp của Camera - Thu dữ liệu. - Thêm các chuỗi thông tin vào capture file . - Thêm các hàm callback vào ứng dụng. Tiếp theo chúng ta sẽ tìm hiểu một số hàm AVICap Window thƣờng dùng: - Hàm tạo capture window hWndC = capCreateCaptureWindow( (LPSTR) “My capture Window”, // tên cửa sổ WS_CHILD | WS_VISIBLE, // kiểu cửa sổ 0,0,160,120, // vị trí cửa sổ (HWND) hwndParent, (int) nID ); - Kết nối vào capture driver fOK = capDriverConnect(hWndC,0); - Huỷ kết nối với capture driver capDriverDisconnect(hWndC); - Kích hoạt chế độ Preview video Đầu tiên chúng ta cần phải đặt tốc độ bắt giữ hình ảnh, sau đó kích hoạt chế độ preview video. VD: thiết lập tốc độ hiển thị frame ở chế độ preview là 66 miliseconds mỗi frame(tức là khoảng 15 fps) và thiết lập chế độ preview cho capture window. CapPreviewRate(hWndC,66); CapPreview(hWndC,TRUE); CapPreview(hWndC,FASLE); 3.2. PHÂN TÍCH YÊU CẦU BÀI TOÁN VÀ THUẬT GIẢI ĐỀ XUẤT Bài toán phát hiện đối tƣợng đột nhập là một trong những bài toán quan trọng và then chốt trong lĩnh vực giám sát tự động. Yêu cầu của bài toán là SV: Bùi Thanh Liêm CT702 ĐH DL HẢI PHÒNG 24
  26. Phát hiện đối tượng đột nhập dưới sự trợ giúp của Camera phát hiện các đối tƣợng đột nhập tại các nơi đặt camera quan sát nhƣ hành lang, cầu thang, v.v, Tại các vị trí này nền hầu nhƣ là không thay đổi. Ý tƣởng của thuật giải là lấy hình ảnh trực tiếp từ webcam trong mọi khoảng thời gian (xem nó nhƣ là ảnh hiện tại) và so sánh nó với ảnh trƣớc đó bằng kỹ thuật trừ điểm ảnh. Nếu tìm thấy sự sai khác lớn giữa chúng thì ta sẽ lƣu lại hai ảnh này. Ngƣợc lại giải phóng bộ nhớ mà ảnh cũ đang chiếm giữ và xem ảnh mới nhận đƣợc là ảnh hiện tại. Sơ đồ thuật giải nhƣ sau: Start Old=grab Image From webcam False Click!= Exit true Cur=grab Image from webcam Difference=Cur - Old False Difference >= Th true Save Old. Cur to disk End Old = Cur Hình 3.1 : Sơ đồ thuật giải SV: Bùi Thanh Liêm CT702 ĐH DL HẢI PHÒNG 25
  27. Phát hiện đối tượng đột nhập dưới sự trợ giúp của Camera 3.3. CÁC HÀM VÀ LỚP CHÍNH TRONG CHƢƠNG TRÌNH Chƣơng trình phát hiện đối tƣợng đột nhập Discovery đƣợc cài đặt trên ngôn ngữ lập trình C#. Lớp ImageProcessing : Chức năng chính của lớp này là xử lý các hình ảnh thu đƣợc từ camera. - Các biến và kiểu dữ liệu trong lớp Bitmap flag,flag2,flag3; int width,width2,width3; BitmapData bitmapData = null,bitmapData2= null,bitmapData3= null; Byte* pBase = null,pBase2=null,pBase3=null; public struct Pixel { public byte blue; public byte green; public byte red; } - Một số phƣơng thức trong lớp Phương thức PixelSize: Dùng cho kích cỡ của diểm ảnh, Cấu trúc của phƣơng thức nhƣ sau: public Point PixelSize { get { GraphicsUnit unit = GraphicsUnit.Pixel; RectangleF bounds = flag.GetBounds(ref unit); return new Point((int) bounds.Width,(int) bounds.Height); } } Phương thức PixelAt: Dùng cho vị trí của điểm ảnh, Cú pháp của phƣơng thức nhƣ sau: public Pixel* PixelAt(int x, int y) { return (Pixel*) (pBase + y * width + x * sizeof(Pixel)); } SV: Bùi Thanh Liêm CT702 ĐH DL HẢI PHÒNG 26
  28. Phát hiện đối tượng đột nhập dưới sự trợ giúp của Camera - Một số hàm trong lớp Hàm LockBitmap: Đƣợc sử dụng trong việc trừ hai ảnh, Cú pháp của hàm nhƣ sau: public void LockBitmap() { GraphicsUnit unit = GraphicsUnit.Pixel; RectangleF boundsF = flag.GetBounds(ref unit); Rectangle bounds = new Rectangle((int) boundsF.X, (int) boundsF.Y, (int) boundsF.Width, (int) boundsF.Height); width = (int) boundsF.Width * sizeof(Pixel); if (width % 4 != 0) { width = 4 * (width / 4 + 1); } bitmapData = flag.LockBits(bounds,ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb); pBase = (Byte*) bitmapData.Scan0.ToPointer(); } Hàm UnlockBitmap: Đƣợc sử dụng trong việc trừ hai ảnh, Cú pháp của hàm nhƣ sau: public void UnlockBitmap() { flag.UnlockBits(bitmapData); bitmapData = null; pBase = null; } Hàm Save: Hàm này đƣợc sử dùng để lƣu hình ảnh, Cú pháp của hàm nhƣ sau: public void Save(string filename) { flag3.Save(filename, ImageFormat.Jpeg); } Hàm CompareUnsafeFaster: Hàm dùng trong việc trừ hai ảnh, Cú pháp của hàm nhƣ sau: public void CompareUnsafeFaster(out Int32 percent) { Point size = PixelSize; percent=0; LockBitmap(); LockBitmap2(); LockBitmap3(); SV: Bùi Thanh Liêm CT702 ĐH DL HẢI PHÒNG 27
  29. Phát hiện đối tượng đột nhập dưới sự trợ giúp của Camera for (int y = 0; y green==pPixel2->green)) { pPixel3->red = pPixel2->red; pPixel3->green = pPixel2->green; pPixel3->blue = pPixel2->blue; percent++; } pPixel++; pPixel2++; pPixel3++; } } UnlockBitmap3(); UnlockBitmap2(); UnlockBitmap(); } 3.4. CHỨC NĂNG VÀ CÁCH SỬ DỤNG CHƢƠNG TRÌNH Bắt đầu Kết nối với Webcam Lựa chọn Webcam (Nếu có nhiều) Bắt đầu quan sát Có Có đối tƣợng đột nhập? Tự động đƣa ra cảnh báo Lƣu lại hình ảnh của đối tƣợng Hình 3.2: Sơ đồ hoạt động của chương trình SV: Bùi Thanh Liêm CT702 ĐH DL HẢI PHÒNG 28
  30. Phát hiện đối tượng đột nhập dưới sự trợ giúp của Camera Chức năng chính của chƣơng trình là kết nối với các Camera, hiển thị hình ảnh thu đƣợc từ Webcam lên Form. Khi phát hiện có đối tƣợng đột nhập chƣơng trình sẽ tự động đƣa ra cảnh báo và lƣu lại ảnh có chứa đối tƣợng đột nhập. Khi khởi động chƣơng trình có giao diện nhƣ sau: Trong hộp thoại properties cho phép chúng ta thiết lập các thông số cho ảnh đầu ra. Chúng ta có thể thay đổi loại ảnh, kích cỡ ảnh, chất lƣợng của ảnh (Tuỳ theo từng loại Camera mà các thông số này có thể khác nhau - chất lƣợng của Camera). Nhấn nút Apply để thiết lập sau đó nhấn nút OK để đóng hộp thoại. Khi đó hình ảnh thu đƣợc từ Camera sẽ đƣợc hiển thi lên Form: SV: Bùi Thanh Liêm CT702 ĐH DL HẢI PHÒNG 29
  31. Phát hiện đối tượng đột nhập dưới sự trợ giúp của Camera SV: Bùi Thanh Liêm CT702 ĐH DL HẢI PHÒNG 30
  32. Phát hiện đối tượng đột nhập dưới sự trợ giúp của Camera KẾT LUẬN Trong quá trình làm đồ án tốt nghiệp với đề tài “Phát hiện đối tƣợng đột nhập dƣới sự trợ giúp của Camera” em đã giải quyết đƣợc một số vấn đề cơ bản sau: PHẦN LÝ THUYẾT - Tìm hiểu về một hệ thống xử lý ảnh và các kỹ thuật trừ ảnh - Tìm hiểu về ngôn ngữ lập trình C Sharp (C#) và các kỹ thuật thu giữ hình ảnh thông qua Camera trên môi trƣờng Windown PHẦN THỰC NGHIỆM - Cài đặt thành công chƣơng trình ứng dụng phát hiện đối tƣợng đột nhập dƣới sự trợ giúp của webcamera - Giảm dung lƣợng lƣu trữ trên không gian đĩa, bằng cách chỉ lƣu lại những hình ảnh chứa đối tƣợng đột nhập thay vì phải lƣu cả đoạn video SV: Bùi Thanh Liêm CT702 ĐH DL HẢI PHÒNG 31
  33. Phát hiện đối tượng đột nhập dưới sự trợ giúp của Camera HƢỚNG PHÁT TRIỂN TIẾP THEO CỦA ĐỀ TÀI Do thời gian có hạn nên vẫn còn một số vấn đề mà đề tài chƣa giải quyết đƣợc. Sau đây, em xin đƣa ra một số phƣơng hƣớng có thể mở rộng và hoàn thiện đề tài nhằm áp dụng cho thực tiễn: Kết hợp các kỹ thuật trừ ảnh và các kỹ thuật xử lý ảnh khác nhƣ trích chọn đặc trƣng ảnh, dò biên .v.v để nhận dạng đƣợc đối tƣợng đột nhập. Nghiên cứu và phát triển chƣơng trình để có thể hoạt động trên một mạng máy tính. SV: Bùi Thanh Liêm CT702 ĐH DL HẢI PHÒNG 32
  34. Phát hiện đối tượng đột nhập dưới sự trợ giúp của Camera TÀI LIỆU THAM KHẢO [1] Bài giảng xử lý ảnh – TS. Đỗ Năng Toàn, Viện công nghệ thông tin - Viện khoa học và công nghệ Việt Nam [2] Nhập môn xử lý ảnh số - Lƣơng Mạnh Bá, Nguyễn Thanh Thuỷ [3] Hampapur, A., Jain,R., Weymouth,T., Digital Video Segmentation, Proc.ACM Multimedia 94, San Francisco CA, 1994, pp.357 - 364 [4] Jyrpi Korki – Anttila (2002), “Automatic color enhancement and sence change detection of digitial video”, Dept of Automation and System, Lab of Media Technology, Hensiki University of Technology. [5] Shahraray, B., Scene Change Detection and Contene - Based Sampling of Video Sequences, Digital Video Compression: Algorithms and Technologies, A.Rodriguez, R.Safranek, E.Delp, Editors, Proc.SPIE 2419, 1995, pp.2-13 [6] Xiong, W., Lee, J. C. - M., Ip, M.C., Net comparison: a fast and effective method for classifying image sequences, SPIE Conf. Storage and Retrieval for Image and Video Databases III, Proceedings, San Jose, CA. 1995. pp.318-328 [7] Background Subtraction for 3D Vision – based user Interfase – Dongpyo Hong, Thesis – for Master‟s Degree. SV: Bùi Thanh Liêm CT702 ĐH DL HẢI PHÒNG 33