Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 91 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
91
Dung lượng
1,75 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ PHẠM TRẦN THIỆN NGHIÊN CỨU MỘT SỐ KỸ THUẬT XỬ LÝ VIDEO VÀ ỨNG DỤNG VÀO XÂY DỰNG PHẦN MỀM GIÁM SÁT, QUẢN LÝ TỰ ĐỘNG CÁC TRANG TRẠI LUẬN VĂN THẠC SĨ Hà Nội - 2008 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ PHẠM TRẦN THIỆN NGHIÊN CỨU MỘT SỐ KỸ THUẬT XỬ LÝ VIDEO VÀ ỨNG DỤNG VÀO XÂY DỰNG PHẦN MỀM GIÁM SÁT, QUẢN LÝ TỰ ĐỘNG CÁC TRANG TRẠI Ngành: Công Nghệ Thông Tin Chuyên ngành: Công Nghệ Phần Mềm Mã số: 60 48 10 LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC TS Phạm Việt Bình Hà Nội - 2008 MỤC LỤC MỞ ĐẦU Chương 1:- TỔNG QUAN VỀ XỬ LÝ ẢNH VÀ VIDEO 1.1 Tổng quan xử lý ảnh 1.1.1 Xử lý ảnh sơ đồ tổng quát 1.1.2 Một số vấn đề xử lý ảnh 10 1.1.2.1 Các khái niệm xử lý ảnh 10 1.1.2.2 Các kỹ thuật xử lý ảnh 14 1.2 Tổng quan xử lý Video 20 1.2.1 Sơ lược Video 20 1.2.2 Các dạng chuẩn kiến trúc Video 21 1.2.2.1 Video tương tự 21 1.2.2.2 Video số 21 1.2.2.3 Thuật toán chuyển đổi Cosine rời rạc nén ảnh 27 1.2.2.4 Bù chuyển động 28 Chương 2:- CÁC KỸ THUẬT ĐÁNH GIÁ VẬN ĐỘNG CỦA ĐỐI TƯỢNG TRONG VIDEO 31 2.1 Kỹ thuật bắt đối tượng chuyển động 31 2.1.1 Kỹ thuật trừ ảnh 31 2.1.2 Kỹ thuật trừ (Background Subtraction) 33 Phương pháp Heikkila Olli 34 Bộ trộn thích nghi Gaussians 35 Pfinder 35 W4 36 LOTS 36 Halevy 37 Cutler 37 Wallflower 37 2.2 Các thuật toán đánh giá vận động đối tượng Video 38 2.2.1 Sự quan trọng đánh giá chuyển động xử lý ảnh 38 Thông tin chuyển động 38 2.2.2 Các hướng tiếp cận để đánh giá chuyển động 40 2.2.3 Một số vấn đề liên quan đánh giá chuyển động 40 Điều kiện so khớp 40 Vấn đề khung trọn vẹn 41 Thuật toán loại trừ liên tục 43 Thuật toán theo dõi thay đổi cửa sổ 44 Thuật toán Modified Window Follower 45 2.2.4 Các phương pháp đánh giá chuyển động 46 2.2.4.1 Lucas – Kadane 46 2.2.4.2 Phương pháp phát chuyển động trội 49 2.2.4.3 Phương pháp đánh giá vận động toàn diện 54 Chương 3:- KẾT QUẢ VÀ THỰC NGHIỆM 56 3.1 Một số đặc điểm hành vi liên quan đến bệnh tật động dục bò sữa 56 3.2 Sơ lược qui trình thiết kế phần mềm ứng dụng 58 3.3 Cài đặt kỹ thuật liên quan 59 3.3.1 Thiết bị quan sát lưu trữ 59 3.3.2 Ngôn ngữ cài đặt 60 3.3.3 Các lớp khai báo sử dụng chương trình 61 3.3.4 Một số lớp dll truy xuất từ window 63 3.3.5 Phát đánh dấu chuyển động đối tượng 64 3.3.6 Thuật toán trừ 66 3.3.6.1 Phát đối tượng chuyển động dựa theo hướng tiếp cận trừ khung hình liền kề 66 3.3.6.2 Phát đối tượng chuyển động theo hướng tiếp cận kết hợp 69 3.3.7 Thuật toán phát vận động toàn diện đối tượng 71 3.3.8 Chương trình cài đặt 74 KẾT LUẬN 71 TÀI LIỆU THAM KHẢO 72 PHỤ LỤC 73 DANH MỤC CÁC TỪ VIẾT TẮT Cụm từ viết tắt ADC BS DCT Fcur Feg Fgreyc Fgreyp Fpre GOB Iwb MAD MB MC MSD MSEA MV MWFA NTSC PC SEA WFA Mô tả viết tắt Analog to digital converter Block Search Descrete Cosine Transform Frame current Frame edge Frame grey current Frame grey previous Frame previous Group of Macroblock Image white black Mean Absolute Dierence Macro Block Motion Compensation Mean Square Dierence Min Successive Elimination Algorithm Motion Vector Modify Window Follower Algorithm National Television system committee Personal computer Successive Elimination Algorithm Window Follower Algorithm DANH MỤC HÌNH Hình 1.1 Các bước xử lý ảnh số Hình 1.2 Những liên kết điểm ảnh Hình 1.3 Những kiểu đường liên kết điểm ảnh Hình 1.4 Mơ hình màu RGB Hình 1.5 Mơ hình màu HSV Hình 1.6 Mơ tả phương pháp tìm biên ảnh 10 Hình 1.7 Kết thuật tốn dị biên 12 Hình 1.8 Phân ngưỡng theo lược đồ xám 14 Hình 1.9 MacroBlock 17 Hình 1.10 Chuỗi khung H.261 19 Hình 1.11 Nhóm ảnh MPEG-1 20 Hình 1.12 Mơ hình DCT cho khối 8x8 22 Hình 1.13 Mơ hình nén liên ảnh 23 Hình 1.14 Khảo sát mẫu pixel ảnh chuyển động 23 Hình 1.15 Mô tả vector chuyển động hai khung ảnh kế cận 25 Hình 2.1 Mơ tả phép toán trừ ảnh 27 Hình 2.2 Kết thực Xor hai ảnh a b 28 Hình 2.3 Chuyển động 3D giới thực chiếu chuyển động 2D ảnh phẳng 34 Hình 2.4 Khung tích hợp 37 Hình 2.5 Tính tốn khối tổng 38 Hình 2.6 Vector biểu thị dịng thị giác đối tượng chuyển động Video 41 Hình 2.7 Mơ tả trường chuyển động dòng thị giác 42 Hình 2.8 Lọc theo thời gian áp dụng optical flow tính toán khung giai đoạn thời gian [t, t+n] 46 Hình 2.9 Mô tả kết phát vận động bật 48 Hình 2.10 Vùng sai khác đối tượng vận động 50 Hình 3.1 Bị sữa trang trại Vinamilk - Tuyên Quang 51 Hình 3.2 Mối liên quan thiết kế phần mềm 53 Hình 3.3 Tiến trình thiết kế phần mềm 54 Hình 3.4 Bị sữa quản lý theo ô đánh số 55 Hình 3.5 Một góc trang trại bò sữa 55 Hình 3.6 Một số hình ảnh khoanh vùng chuyển động 61 Hình 3.7 Thuộc tính file video dạng avi 61 Hình 3.8 Ảnh khung hình liền trước thời có sai khác 63 Hình 3.9 Ảnh khung hình liền trước thời có sai khác nhiều 63 Hình 3.10 a), b) khung hình có độ sai khác thỏa mãn ngưỡng, c) Ảnh Iwb chưa lọc nhiễu, d) ảnh Iwb sau lọc nhiễu 64 Hình 3.11 Cửa sổ chương trình thực 68 Hình 3.12 Menu số chức chương trình 68 Hình 3.13 Ví dụ hiển thị thông tin file Avi 69 Hình 3.14 Thực chương trình với file Avi 69 DANH MỤC CÁC BẢNG Bảng 1.1 Các tiêu chuẩn Video số 16 Bảng 1.2 Mô tả kiểu CIF QCIF 17 Bảng 1.3 Một số ràng buột MPEG-1 19 Bảng 1.4 Các tham số có MB 21 DANH MỤC CÁC LƯỢC ĐỒ Lược đồ 3.1 Thu ảnh phát chuyển động 57 Lược đồ 3.2 Thu ảnh lưu trữ 64 Lược đồ 3.3 Phát đối tượng vận động 65 Lược đồ 3.4 Đánh giá vận động đối tượng 66 MỞ ĐẦU Trong kỷ 21, phát triển công nghệ thông tin đẩy nhanh phát triển nhiều lĩnh vực đời sống xã hội Với phát triển nhanh chóng phần cứng máy tính thiết bị liên quan phương diện thu nhận hiển thị mở nhiều hướng cho phát triển phần mềm Trong số phải kể đến lĩnh vực giám sát tự động Ngày nay, lĩnh vực nhiều người quan tâm, nghiên cứu Các vấn đề liên quan đến giám sát tự động như: dự đoán, cảnh báo đối tượng đột nhập; dự đoán, cảnh báo tượng tự nhiên; dự đốn, cảnh báo hành vi người, lồi vật,… thơng qua hệ thống camera giám sát Đây lĩnh vực gần gũi cấp thiết nhu cầu sống người Từ liệu thu qua camera quan sát dạng video lưu trữ máy tính tiến hành tìm hiểu, nghiên cứu vấn đề liên quan đến để từ đưa phương pháp, thuật tốn cài đặt phần mềm ứng dụng cho vấn đề nghiên cứu Với tiến lưu trữ liệu video thiết bị cơng nghệ máy tính, nhiều ứng dụng liên quan đến hệ thống thông tin video ngày trội Video phương tiện với độ phức tạp cao Nó có đặc trưng thời gian không gian Thông tin liên quan đến vị trí, khoảng cách, mối quan hệ thay đổi thời gian không gian bao hàm hoàn toàn liệu video Để khai thác tốt thơng tin liệu video cần tìm hiểu, nghiên cứu nhiều vấn đề liên quan đến phân tích, đánh giá thơng tin liệu video xây dựng thuật toán cho xử lý vấn đề Video dãy khung ảnh, khung ảnh thay đổi qua thời gian theo khơng gian Tuy nhiên, việc trích xuất so sánh ngữ cảnh video hệ thống thơng tin video cịn vấn đề quan trọng cần giải Hiện thời đại hậu PC (personal computer) sau giai đoạn phát triển máy tính lớn (mainframe) 1960-1980, phát triển PC-Internet giai đoạn 1980-2000 Dự đoán từ năm 2000 đến 2020 giai đoạn môi trường thông minh mà hệ thống nhúng (embedded systems) cốt lõi làm nên sóng đổi cơng nghệ thông tin giám sát tự động Một thực tế khách quan thị trường hệ thống nhúng lớn gấp khoảng 100 lần thị trường PC, nhìn thấy bề công nghệ thông tin hệ thống sử dụng PC Internet cịn phần chìm cơng nghệ thơng tin chiếm 99% số vấn đề tồn cầu nằm hệ nhúng cịn biết đến [7] Lược đồ: Bắt đầu Xác định tên tập tin liệu Đặt số khung ảnh bắt đầu Đặt số khung ảnh cuối Lấy khung ảnh ảnh Phát vùng đối tượng ảnh sai Khung ảnh cuối cùng? Lấy khung ảnh Lưu liệu vận động Phát vùng đối tượng ảnh Tính tốn sai khác đối tượng vận động Kết thúc Đánh giá vận động đối tượng Lược đồ 3.4: Đánh giá vận động đối tượng 73 3.3.8 Chương trình cài đặt Đã cài đặt thử nghiệm đạt kết tốt cho số kỹ thuật nghiên cứu liên quan đến phát chuyển động Sau số hình ảnh mơ tả chương trình cài đặt Hình 3.11 Cửa sổ chương trình làm việc Hình 3.12 Các Menu chương trình cài đặt 74 Hình 3.13 Hiển thị thơng tin File Avi thao tác Hình 3.14 Chương trình phát với file AVI 75 KẾT LUẬN Từ liệu thu qua camera quan sát hoạt động bò sữa lưu trữ dạng file video AVI lưu trữ máy tính tiến hành tìm hiểu, nghiên cứu vấn đề liên quan Thông qua cài đặt thử nghiệm số file AVI thu được, tiến hành áp dụng phương pháp trừ ảnh, tách [17] với ngưỡng thử nghiệm để trích xuất vùng chuyển động đối tượng Với vùng ảnh chuyển động đối tượng thu video ta tiến hành đánh giá để tìm vùng chuyển động đặt trưng [19] quan tâm (trích xuất vùng đặt trưng lọc theo thời gian) Vùng chuyển động đặt trưng tính toán qua giai đoạn để ước lượng mức độ vận động [22] đối tượng Với trạng thái bình thường mức độ vận động bị sữa ổn định tương đối, tính tốn vùng chuyển động ổn định theo thời gian Khi có trạng thái bất thường (động dục, đau ốm) vận động bị sữa có thay đổi Số lượng vận động giảm xuống đột ngột tăng lên bất thường, vào dấu hiệu ta đưa cảnh báo kịp thời Trong khuôn khổ luận văn này, mục tiêu đề tài tìm hiểu nghiên cứu số kỹ thuật, phương pháp việc nhận diện, tìm hiểu sơ số hành động bò sữa để từ dự đốn hành vi Luận văn giới thiệu số vấn đề xử lý ảnh như: vấn đề xử lý ảnh, kĩ thuật liên quan đến trừ xử lý Video, kỹ thuật việc đánh giá vận động đối tượng Video Luận văn cài đặt thành công số kỹ thuật phát chuyển động, kĩ thuật trừ bản, kĩ thuật đánh giá vận động tồn diện đối tượng bị sữa Video nhằm đưa cảnh báo cần thiết, kịp thời cho cơng tác theo dõi hoạt động bị sữa Bên cạnh kết đạt được, hướng nghiên cứu nghiên cứu sâu đánh giá chi tiết cử biểu đối tượng hoạt động Video, để từ phục vụ tốt cho công việc theo dõi đánh giá vận động Bên cạnh hồn thiện việc cài đặt kĩ thuật liên quan luận văn này, từ nghiên cứu tìm thuật tốn tối ưu cho đánh giá vận động động vật, đặc biệt bò sữa 76 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Kỷ yếu hội thảo quốc gia, Một số vấn đề chọn lọc công nghệ thông tin, Nhà xuất khoa học kỹ thuật, tháng 8-2005 [2] Lương Mạnh Bá, Nguyễn Thanh Thủy Nhập môn xử lý ảnh số, Nhà xuất khoa học kỹ thuật, Hà Nội 2006 [3] Mai Cường Thọ, Bài giảng xử lý ảnh số [4] Nguyễn Duy Nhật Viên, Multimedia, 7-2006 [5] Nguyễn Thanh Bình, Võ Nguyễn Quốc Bảo, Xử lý âm hình ảnh, 2007 [6] PGS TS Đỗ Năng Toàn, Bài giảng xử lý ảnh số, 2007 [7] Phạm Thượng Cát, Những thành tựu đạt nghiên cứu phát triển cơng nghệ tự động hóa 30 năm qua viện công nghệ thông tin, Viện Công Nghệ Thông tin Tiếng anh [8] Chueh-Wei Chang and Suh-Yin Lee (1996), Video Content Representation, Indexing, and Matching in Video Information Systems, journal of visual communication and image representation [9] Ming Gao-Phillip Bridgman and Sunil Kumar (2003), Computer Aided Prostate Cancer Diagnosis Using Image Enhancement and JPEG2000 [10] Ian T Young, Jan J Gerbrands, Lucas J van Vliet (1998), Fundamentals of Image Processing, The Netherlands at the Delft University of Technology [11] Todd R Reed (2005), Digital Image Sequence Processing, Compression and Analysis, University of Hawaii at Manoa Honolulu, HI [12] Ling Guan, Sun-Yuan Kung, Jan Larsen (2001), Multimedia Image and Video Processing, CRC Press LLC [13] Paul Browne, Alan F Smeaton, Noel Murphy, Noel O’Connor, Seán Marlow, Catherine Berrut, Evaluating and Combining Digital Video Shot Boundary 77 Detection Algorithms, Centre for Digital Video Processing Dublin City university Dublin 9, Ireland [14] Syed Ali Khayam (2003), The Discrete Cosine Transform (DCT): Theory and Application, Department of Electrical & Computer Engineering Michigan State University [15] Iain E G Richardson, H.264 and MPEG-4 Video Compression, The Robert Gordon University, Aberdeen, UK [16] H.R Wu and K.R Rao (2006), Digital Video Image Quality and Perceptual Coding, Taylor & Francis Group, LLC [17] Alan M.MCIvor, Background Subtraction Techniques, PO Box128- 221,Remuera,Auckland,NewZealand [18] Yi-Wen Chen, Ming-Ho Hsiao, Hua-Tsung Chen,Chi-Yu Liu, Suh-Yin Lee (2008), Content-Aware Fast Motion Estimation Algorithm, journal of Visual Communication & Image Representation [19] Ying-Li Tian and Arun Hampapur, Robust Salient Motion Detection with Complex Background for Real-time Video Surveillance, IBM T.J Watson Research Center [20] Tilo Burghardt, Janko Ćalić, Barry T Thomas, Tracking animals in wildlife videos using face detection, Dept of Computer Science,University of Bristol [21] Jian-Da Wu, Tuo-Rung Chen (2008), Development of a drowsiness warning system based on the fuzzy logic images analysis, Journal of ScienceDirect [22] Takao Hashimoto, Yuji Izawa, Hisashi Yokoyama, Takashi Kato, Tetsuji Moriizumi (1999), A new video:computer method to measure the amount of overall movement in experimental animals (two-dimensional object-difference method) 78 PHỤ LỤC Một code xử lý điển hình chương trình cài đặt: //cua so 5x5 DWORD x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16; DWORD x21,x22,x23,x24,x25,x26,x27,x28; DWORD v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16; DWORD v21,v22,v23,v24,v25,v26,v27,v28; //========QUET HET CAC FRAME================= for(int k=0;km_play->GetNextDirectFrameFromStream(); bChangeFrames=true; } //co su thay doi khung hinh if(bChangeFrames==true) { //////// if (pDIB == NULL) return; lpDATA = new BYTE[pDIB->biSizeImage]; if (!copy(lpDATA, pDIB)) return; hDIB = GlobalAlloc(GMEM_MOVEABLE, (DWORD)sizeof(BITMAPINFOHEADER) + (DWORD)::PaletteSize((LPSTR)pDIB) + pDIB->biSizeImage); pbih = (LPBITMAPINFOHEADER)GlobalLock(hDIB); *pbih = *pDIB; lpbi = FindDIBBits((LPSTR)pbih); for (DWORD i=0; ibiSizeImage; i++) lpbi[i]= lpDATA[i]; lpDIBBytes = (BYTE *)lpbi; ///////de cho cau if o tren } ảnh trắng đen tìm sai khác /// ANH DEN TRANG lpDATAWB=new BYTE[pDIBWB->biSizeImage];//anh den trang hDIBWB= GlobalAlloc(GMEM_MOVEABLE, (DWORD)sizeof(BITMAPINFOHEADER) + (DWORD)::PaletteSize((LPSTR)pDIBWB) + pDIBWB->biSizeImage); 79 pbihWB=(LPBITMAPINFOHEADER)GlobalLock(hDIBWB); *pbihWB= *pDIBWB; lpbiWB = FindDIBBits((LPSTR)pbihWB); for (i=0; ibiSizeImage; i++) lpbiWB[i]= lpDATAWB[i]; lpDIBBytesWB = (BYTE *)lpbiWB; bfrist=false; // ket thuc anh den trang -} height=pDIB->biHeight; width=pDIB->biWidth; // DrawFrame(pbih_1); //hien thoi // DrawFrame_Second(pbih_1); //khung hien thoi c=0; for (i = 0; i < height; i++) { for (j = 0; j < width; j++) { vt = i*width+j; //anh phia truoc mau = (BYTE)(lpDIBBytes[vt*3]/3+lpDIBBytes[vt*3+1]/3+lpDIBBytes[vt*3+2]/3); I1+=mau; //anh hien thoi mau_1=(BYTE)(lpDIBBytes_1[vt*3]/3+lpDIBBytes_1[vt*3+1]/3+lpDIBBytes _1[vt*3+2]/3); I2+=mau_1; if(abs(mau-mau_1)=0) { x3=i*width+(j-2); v3=lpDIBBytes_1[x3*3]; } else { x3=-1; v3=0; 81 } //x4 if(((i-1)>-1)&&((j-2)>=0)) { x4=(i-1)*width+(j-2); v4=lpDIBBytes_1[x4*3]; } else { x4=-1; v4=0; } //x5 if(((i-2)>-1)&&((j-2)>=0)) { x5=(i-2)*width+(j-2); v5=lpDIBBytes_1[x5*3]; } else { x5=-1; v5=0; } //x6 if(((i-2)>-1)&&((j-1)>=0)) { x6=(i-2)*width+(j-1); v6=lpDIBBytes_1[x6*3]; } else { x6=0; v6=0; } //x7 if((i-2)>-1) { x7=(i-2)*width+j; v7=lpDIBBytes_1[x7*3]; } else { x7=-1; v7=0; } //x8 if(((i-2)>-1)&&((j+1)-1)&&((j+2)-1)&&((j+2)