LỜI CAM ĐOAN Tôi xin cam đoan mọi kết quả của đề tài: “Ứng dụng công nghệ nhận dạng hình ảnh để ước lượng số chim yến ra vào nhà yến” là công trình nghiên cứu của cá nhân tôi và chưa t
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NHA TRANG
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NHA TRANG
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan mọi kết quả của đề tài: “Ứng dụng công nghệ nhận dạng
hình ảnh để ước lượng số chim yến ra vào nhà yến” là công trình nghiên cứu của
cá nhân tôi và chưa từng được công bố trong bất cứ công trình khoa học nào khác
cho tới thời điểm này
Khánh Hòa, ngày 20 tháng 4 năm 2020
Tác giả luận văn
Lương Công Bình
Trang 4
LỜI CẢM ƠN
Sau hai năm học tập và rèn luyện tại Trường Đại học Nha Trang, bằng sự biết ơn
và kính trọng, tôi xin chân thành cảm ơn Ban Giám hiệu, Khoa Sau đại học, Khoa Công nghệ Thông tin thuộc Trường Đại học Nha Trang và quý Thầy/Cô đã nhiệt tình giảng dạy và tạo điều kiện thuận lợi giúp đỡ tôi trong quá trình học tập và làm luận
văn Đặc biệt, tôi xin bày tỏ lòng biết ơn và lời cảm ơn sâu sắc tới TS Đinh Đồng
Lưỡng, người đã tận tình hướng dẫn và động viên tôi trong suốt quá trình nghiên cứu
và hoàn thành luận văn
Xin chân thành cảm ơn Ban lãnh đạo Công ty Yến sào Khánh Hòa; Ban Giám đốc Trung tâm Kỹ thuật Công nghệ nuôi chim yến Sanatech; Các đồng nghiệp trong Phòng Khoa học Công nghệ Công ty Yến sào Khánh Hòa đã giúp đỡ, tạo điều kiện thuận lợi
để tôi hoàn thành luận văn Mặc dù đã cố gắng, nhưng luận văn không tránh khỏi những thiếu sót, hạn chế; Tôi kính mong Quý thầy cô, các chuyên gia, những người quan tâm đến đề tài, đồng nghiệp, gia đình và bạn bè tiếp tục có những ý kiến đóng góp để đề tài được hoàn thiện hơn
Cuối cùng tôi xin gửi lời cảm ơn chân thành đến gia đình và tất cả bạn bè đã giúp
đỡ, động viên tôi trong suốt quá trình học tập và thực hiện đề tài
Tôi xin chân thành cảm ơn!
Khánh Hòa, ngày 20 tháng 4 năm 2020
Tác giả luận văn
Lương Công Bình
Trang 5MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC KÝ HIỆU v
DANH MỤC CHỮ VIẾT TẮT vi
MỞ ĐẦU 1
Chương 1 TỔNG QUAN VỀ ĐỀ TÀI 4
1.1 Nhận dạng đối tượng 4
1.2 Các nghiên cứu nhận dạng và đếm đối tượng 5
1.3 Tổng quan về camera quan sát 6
1.3.1 Khái niệm 6
1.3.2 Phân loại 6
1.3.3 Những yếu tố quan trọng 7
1.3.3.1 Tầm quan sát và góc quan sát 7
1.3.3.2 Độ phân giải 7
1.3.3.3 Khả năng quan sát ban đêm của Camera 7
1.4 Các công cụ hỗ trợ nhận dạng đối tượng 7
1.4.1 Thư viện ImageAI 7
1.4.2 Giới thiệu LabelImg 10
1.4.3 Giới thiệu Google Colab 10
1.4.4 TensorFlow 10
1.4.5 OpenCV 11
Chương 2 CƠ SỞ KHOA HỌC VỀ CHIM YẾN VÀ NHÀ YẾN 12
2.1 Đặc điểm hình thái của chim yến 12
2.1.1 Hình thái của chim yến đảo 12
2.1.2 Hình thái của chim yến nhà 12
2.2 Đặc điểm sinh thái học của chim yến 13
2.2.1 Sinh thái học của chim yến đảo 13
2.2.2 Sinh thái học của chim yến nhà 15
2.3 Kỹ thuật xây dựng nhà yến 15
2.3.1 Chọn vị trí và mô hình nhà nuôi chim yến 15
2.3.2 Lắp đặt trang thiết bị nhà yến 17
2.3.2.1 Lắp đặt hệ thống giá tổ 17
Trang 62.3.2.2 Lắp đặt thiết bị âm thanh 18
2.3.2.3 Lắp đặt thiết bị phun sương tạo độ ẩm 19
2.3.3 Vận hành nhà yến 19
Chương 3 PHÂN TÍCH BÀI TOÁN 20
3.1 Thu thập dữ liệu 20
3.2 Xây dựng dữ liệu 21
3.3 Huấn luyện mô hình 24
3.3.1 Chuẩn bị huấn luyện mô hình 24
3.3.2 Sử dụng Google Colab để huấn luyện mô hình 26
3.4 Nhận dạng chim yến 28
3.5 Ước lượng số chim yến 29
3.6 Ưu điểm của phương pháp nghiên cứu: 29
Chương 4 TRIỂN KHAI MÔ HÌNH ỨNG DỤNG ƯỚC LƯỢNG SỐ CHIM YẾN 30
4.1 Huấn luyện mô hình phát hiện chim yến 30
4.2 Kết quả nhận dạng chim yến 34
4.3 Đánh giá mô hình nhận dạng 41
4.4 Kết quả ước lượng số lượng chim yến trong phòng 42
4.4.1 Xây dựng cơ sở dữ liệu 42
4.4.2 Cài đặt lấy hình ảnh từ các camera trong nhà yến và đếm số lượng chim 43
4.4.2.1 Kết nối camera trong OpenCV 43
4.4.2.2 Đếm số lượng chim yến 46
4.4.3 Xây dựng webservice để lấy dữ liệu từ cơ sở dữ liệu 47
4.4.4 Xây dựng website vẽ biểu đồ ước lượng số lượng chim theo thời gian 52
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 54
Kết luận: 54
Hướng phát triển: 55
PHỤ LỤC 56
TÀI LIỆU THAM KHẢO 63
Trang 7DANH MỤC KÝ HIỆU
Lux : Đơn vị đo cường độ ánh sáng
dB : Đơn vị đo cường độ âm thanh
R : Bán kính tổ yến
Trang 8DANH MỤC CHỮ VIẾT TẮT
Semiconductor
Chất bán dẫn oxit kim loại
bổ sung
tượng
đoạn và chú thích đối tượng quy mô lớn
CUDA Compute Unified Device Architecture Kiến trúc thiết bị tính toán
hợp nhất
Berkeley
Trang 9OpenCV Open Computer Vision Thư viện mã nguồn mở
hàng đầu cho xử lý về thị giác máy tính
trong JavaScript
Network
Mạng lưới thần kinh chuyển đổi khu vực
API Application Programming Interface Giao diện lập trình ứng
văn bản MIME Multipurpose Internet Mail Extensions Tiện ích mở rộng thư
Internet đa năng
Trang 10DANH MỤC HÌNH
Hình 1.1 Các loại camera quan sát 6
Hình 1.2 Kết quả phát hiện đối tượng của ImageAI [13] 8
Hình 1.3 Kết quả các đối tượng được phát hiện [13] 9
Hình 1.4 Giao diện và cách chú thích đối tượng của LabelImg [14] 10
Hình 2.1 Đặc điểm hình thái chim yến đảo Aerodramus ficuphagus 12
Hình 2.2 Đặc điểm hình thái chim yến nhà nhìn phía trước 13
Hình 2.3 Chim yến nằm sát nhau trên vách đá buổi tối 14
Hình 2.4 Mô hình bên trong nhà yến 16
Hình 2.5 Mô hình núi yến nhân tạo diện tích đáy 300 m2, cao 15 m 17
Hình 2.6 Hệ thống giá tổ trong nhà yến 17
Hình 2.7 Máy phát âm thanh đa năng 18
Hình 2.8 Loa chuyên dụng bên trong nhà yến 18
Hình 2.9 Lắp đặt hệ thống phun sương bên ngoài nhà yến 19
Hình 3.1 Sơ đồ nhận dạng và ước lượng chim yến 20
Hình 3.2 Vị trí hai camera lắp đặt trong nhà yến ở Vĩnh Phương 20
Hình 3.3 Ảnh bên trong nhà yến của camera 1 vào lúc 14h ngày 9/11/2019 21
Hình 3.4 Ảnh bên trong nhà yến của camera 2 vào lúc 19h ngày 9/11/2019 21
Hình 3.5 Ảnh bên trong nhà yến của camera có vị trí lắp chưa phù hợp 21
Hình 3.6 Ảnh dùng để huấn luyện mô hình 21
Hình 3.7 Kết quả định vị, gán nhãn cho chim yến trong ảnh sử dụng phần mềm LabelImg 22
Hình 3.8 Thông tin về GPU máy tính sử dụng để huấn luyện mô hình 25
Hình 3.9 Các bước tạo ra 1 notebook trên google colab 27
Hình 3.10 Phần cài đặt GPU 27
Hình 3.11 Giao diện làm việc trên Google Colab 28
Hình 4.1 Ảnh thu nhận từ camera quan sát đưa vào nhận dạng 35
Hình 4.2 Kết quả nhận dạng chim yến trong ảnh 35
Hình 4.3 Mô hình dữ liệu lưu thông tin nhà yến 42
Hình 4.4 Mô hình hệ thống nhận dạng và ước lượng số chim yến 43
Hình 4.5 Trang đăng nhập cấu hình Camera Hik Vision 45
Hình 4.6 Trang cấu hình giao thức RTSP 45
Trang 11Hình 4.8 Nội dung cài đặt NodeJs 48
Hình 4.9 Cấu trúc thư mục của ứng dụng 49
Hình 4.10 Nội dung tập tin kết nối với Cơ sở dữ liệu 49
Hình 4.11 Nội dung thông báo khởi chạy ứng dụng thành công 52
Hình 4.12 Kết quả truy vấn dữ liệu được trả về định dạng XML 52
Hình 4.13 Biểu đồ biến thiên số lượng chim yến trong một phòng tại nhà yến ở Vĩnh Phương, Nha Trang 52
Trang 12MỞ ĐẦU
Yến sào (là tổ của chim yến) từ lâu đã trở thành một nguồn thực phẩm tuyệt vời
mà thiên nhiên ban tặng cho con người Bên cạnh giá trị kinh tế, dinh dưỡng cao, yến sào còn có nhiều chức năng sinh học quý giá mà không phải loại thực phẩm nào có được Những tác dụng ích lợi của yến sào đã được ghi nhận cho đến nay có thể kể đến đó là: Giúp bồi bổ cơ thể, phục hồi sức khỏe, cải thiện độ chắc của xương, tăng cường sức đề kháng, chống sự lây nhiễm của virus cúm A, giúp làm đẹp da, chống lão hóa,…Vì vậy, nguồn sản phẩm tổ yến từ thiên nhiên không đáp ứng nổi nhu cầu ngày càng tăng của người dùng, đồng thời để có nhiều người dùng hơn có thể tiếp cận và sử dụng sản phẩm quý từ tổ yến với chi phí vừa phải thì các sản phẩm tổ yến được thu hoạch từ các nhà yến do con người tạo ra bắt đầu trở lên phổ biến
Theo thống kê của Cục Chăn nuôi - Bộ Nông nghiệp và Phát triển nông thôn, hiện nay cả nước có 42/63 tỉnh có nuôi chim yến với tổng số 8.548 nhà yến, sản lượng tổ 63,4 tấn/năm Nhiều nhất là tại vùng Đồng bằng Sông Cửu Long; Tiếp đến là Đông nam Bộ; Duyên hải miền Trung; Một số nhà yến cũng đã xuất hiện tại Bắc Trung Bộ; Tây Nguyên; Đồng bằng Sông Hồng [3] Tiềm năng phát triển nghề nuôi chim yến ở nước
ta là rất lớn, lợi thế về điều kiện tự nhiên cần được khai thác tốt để phát triển nuôi chim yến, mang lại hiệu quả kinh tế cho các tỉnh, thành trong cả nước
Để có thể dẫn dụ, quản lý tốt được số lượng chim yến tới ở lại và làm tổ tại các nhà yến là công việc rất quan trọng đang được nhiều nhà khoa học quan tâm nghiên cứu
và cung cấp giải pháp Công tác quản lý nhà yến cơ bản là kiểm tra, giám sát, điều khiển các thông số kỹ thuật như nhiệt độ, độ ẩm, âm thanh chim yến trong nhà, Để vận hành nhà yến hiệu quả cần từ một tới hai nhân viên kỹ thuật được đào tạo, có kiến thức cơ bản về sinh học chim yến, nắm bắt quy trình hoạt động của nhà yến, biết được các thông
số kỹ thuật trong nhà yến, biết sử dụng các máy móc, thiết bị của nhà yến [1][2] Tuy nhiên, vấn đề làm sao để có thể biết được những thay đổi của lượng chim yến ra vào nhà yến để có thể thay đổi các thông số kỹ thuật cũng như có giải pháp kịp thời thì đối với con người công việc này còn gặp nhiều khó khăn
Công nghệ nhận dạng đóng vai trò quan trọng trong nhiều ứng dụng thực tế và
Trang 13phát hiện chuyển động, theo dõi chuyển động, nhận dạng các khối u trong y học, hiệu chỉnh các ảnh và video Việc thực hiện nghiên cứu “Ứng dụng công nghệ nhận dạng hình ảnh để ước lượng số chim yến ra vào nhà yến” là rất cần thiết, đặc biệt là công
nghệ nhận dạng để hỗ trợ ra quyết định tự động và bán tự động trong quản lý nhà nuôi chim yến là việc làm rất cần thiết, có giá trị khoa học và thực tiễn cao, mang lại hiệu quả kinh tế - xã hội cao
Trong nghiên cứu này chúng tôi nghiên cứu ứng dụng công nghệ nhận dạng hình ảnh để nhận dạng chim yến hỗ trợ ước lượng số chim trong nhà Mô hình nhận dạng chim yến được huấn luyện và nhận dạng từ các dữ liệu ảnh thật được thu từ các camera quan sát trong nhà yến Chúng tôi sử dụng thư viện ImageAI trong việc hỗ trợ huấn luyện mô hình và nhận dạng chim yến từ camera quan sát Kết quả nhận dạng chim yến trong ảnh nhận được từ camera quan sát đạt độ chính xác 86% Dựa vào kết quả nhận dạng Chúng tôi sử dụng để hỗ trợ ước lượng số chim yến ra vào nhà yến tự động hướng tới việc quản lý, vận hành nhà yến thông minh trong thời gian tới
* Mục tiêu nghiên cứu:
Mục tiêu chung: Xây dựng hệ thống tự động nhận dạng chim yến và ước lượng
số chim yến ra vào nhà yến
Mục tiêu cụ thể:
- Hệ thống nhận dạng được chim yến; Ước lượng được số chim yến trong nhà yến;
- Hệ thống góp phần hỗ trợ đánh giá hiệu quả của việc thực hiện các giải pháp kỹ thuật dẫn dụ chim yến ở lại ngôi nhà yến;
- Góp phần giảm chi phí vận hành nhà yến và giúp cho chủ nhà yến vận hành hiệu quả nhà nuôi chim yến
* Đối tượng và phạm vi nghiên cứu:
Đối trượng nghiên cứu: Nhà yến, chim yến, camera quan sát; thư viện ImageAI; Phạm vi nghiên cứu: Thực hiện nghiên cứu tại nhà yến Vĩnh Phương, Nha Trang
* Phương pháp nghiên cứu:
Tìm hiểu, nghiên cứu, phân tích các công trình liên quan đến đề tài luận văn: Tài liệu, tạp chí, bài báo trong lĩnh vực nuôi chim yến, nhận dạng xử lý ảnh, cảm biến
Trang 14camera, thư viện mã nguồn mở ứng dụng để nhận dạng đối tượng
Sử dụng ImageAI để huấn luyện mô hình thực hiện phát hiện, nhận dạng và ước lượng số chim yến Các bước nghiên cứu gồm: Thu thập dữ liệu, xây dựng cơ sở dữ liệu, huấn luyện mô hình, nhận dạng chim yến và ước lượng số chim yến
* Ý nghĩa khoa học và thực tiễn của đề tài:
Kết quả của đề tài bổ sung vào tài liệu khoa học chính thống, bổ sung tính năng nhận dạng đối tượng chim yến, giám sát được chim yến trong nhà, hướng đến việc tự động hóa hoàn toàn hệ thống nuôi chim yến trong nhà, nhằm phát triển nghề nuôi chim yến trong nhà
Góp phần giảm chi phí quản lý, nâng cao hiệu quả vận hành nhà yến và giúp cho việc vận hành nhà nuôi chim yến trở nên đơn giản mà hiệu quả Hỗ trợ đánh giá hiệu quả của việc thực hiện các giải pháp kỹ thuật dẫn dụ chim yến ở lại ngôi nhà yến thông qua hoạt động giám sát tự động
Trang 15Chương 1 TỔNG QUAN VỀ ĐỀ TÀI
1.1 Nhận dạng đối tượng
Nhận dạng hay nhận biết một đối tượng là một khả năng tự nhiên của con người cũng như các loài vật, theo một cách bản năng nhất mọi loài vật qua cảm nhận từ các cơ quan cảm giác như: Mắt, mũi, miệng, tay…, bằng hành động nhìn, nghe, ngửi…, có thể
dễ dàng cảm nhận ngay được đối tượng đang tiếp xúc với mình là cái gì, quen hay lạ Chính vì vậy, có thể nói rằng cơ thể mỗi một loài vật chính là một hệ thống nhận dạng tối ưu nhất
Với sự phát triển của khoa học công nghệ và nhất là khoa học về robot thì càng ngày mong ước tạo ra một hệ thống nhận dạng máy học có khả năng tương tự và trội hơn hệ thống nhận dạng sinh học là một khát khao cháy bỏng của các nhà khoa học Chính vì vậy từ những năm 70 đến nay các nhà khoa học đã không ngừng nghiên cứu phát triển bài toán nhận dạng đối tượng, từ nhận dạng ký tự sơ khai cho đến hệ thống nhận dạng cho các robot thông minh hiện nay khoa học đã tiến những bước dài Ứng dụng của bài toán này trong cuộc sống, khoa học kỹ thuật càng ngày càng rộng rãi trên nhiều lĩnh vực
Một hệ thống nhận dạng đối tượng là hệ thống nhận vào một ảnh hoặc một đoạn video Qua xử lý tính toán hệ thống xác định được vị trí đối tượng trong ảnh và xác định
là đối tượng nào trong số những đối tượng hệ thống đã được biết qua quá trình học hay
là đối tượng mới Yêu cầu đặt ra đối với hệ thống nhận dạng đối tượng là độ chính xác cao vì vậy hệ thống đòi hỏi phải có các đặc trưng tốt Hệ thống phải biết chọn đặc trưng như thế nào để có thể biểu diễn tốt được thông tin đối tượng cần nhận dạng Đồng thời, đặc trưng phải được tính toán nhanh để không làm chậm công việc nhận dạng Thêm vào đó, hệ thống phải có phương pháp học hiệu quả, có khả năng nhận dạng tốt các mẫu mới chứ không chỉ làm tốt trên các mẫu đã học
Nhận dạng đối tượng (Object recognition) lĩnh vực thuộc Machine Learning nghiên cứu việc tìm một đối tượng trong một ảnh hay video cho trước, đó là việc phát hiện lớp đối tượng cụ thể với các lớp đối tượng khác của hệ thống Sự phát triển khoa học kỹ thuật công nghệ đã thúc đẩy cho việc đưa bài toán nhận dạng đối tượng vào ứng dụng thực tiễn với mức độ tinh vi ngày càng cao, ta có thể thấy rất nhiều ứng dụng trong
Trang 16nhận dạng đối tượng phổ biến hiện nay như: Các camera theo dõi trong các trung tâm lớn, hệ thống nhận dạng tội phạm, nhận dạng vân tay, công nghệ robot… Vì vậy, nhận dạng đối tượng là một lĩnh vực đang rất được quan tâm và có tính ứng dụng cao
Các ứng dụng nhận dạng đối tượng: Bài toán nhận dạng đối tượng có thể áp dụng rộng rãi trong nhiều ứng dụng thực tế khác nhau Đó chính là lý do mà bài toán này hấp dẫn rất nhiều nhóm nghiên cứu trong thời gian dài Các ứng dụng liên quan đến nhận dạng đối tượng có thể kể ra như:
- Hệ thống giao tiếp người máy: Thay thế việc tương tác giữa người và máy theo những cách truyền thống như: Bàn phím, chuột Thay vào đó là sử dung các giao tiếp trực quan: Biểu cảm khuôn mặt, dấu hiệu, cử chỉ bằng tay; Hệ thống theo dõi nhân sự trong một đơn vị: Giám sát giờ ra vào của từng nhân viên và chấm công; Hệ thống phát hiện tội phạm: Camera được đặt tại một số điểm công cộng như: Siêu thị, nhà sách, trạm
xe buýt, sân bay Khi phát hiện được sự xuất hiện của các đối tượng là tội phạm, hệ thống sẽ gửi thông điệp về cho trung tâm xử lý; Các hệ thống bảo mật dựa trên thông tin trắc sinh học: Mặt người, vân tay , thay vì xác nhận mật khẩu, khóa Hệ thống tìm kiếm thông tin trên ảnh, video dựa trên nội dung [19]
- Công nghệ nhận dạng quản lý giao thông quản lý hình ảnh của xe và biển số xe thay đổi, giám sát bãi đỗ xe, phương tiện giao thông tại các khu vực nhạy cảm như các sân bay, bến cảng
- Phần mềm nhận dạng chữ in, đặc biệt dành riêng cho ngôn ngữ tiếng Việt, dịch
vụ Nhận dạng chữ in
1.2 Các nghiên cứu nhận dạng và đếm đối tượng
Hiện nay, các hệ thống phát hiện và nhận dạng tự động các đối tượng sử dụng kỹ thuật xử lý ảnh và thị giác máy tính Trong nghiên cứu [5], nhóm tác giả trình bày bài toán phát hiện và nhận dạng một số loại sâu bệnh trên lá bưởi bằng kỹ thuật xử lý ảnh kết hợp với máy học
Trong các dây chuyền sản xuất, thị giác máy được ứng dụng trong các hệ thống đo lường có độ chính xác cao và chi phí thấp, hay hệ thống đo lường không tiếp xúc tại các
cơ sở sản xuất cho sản lượng cao mà không có lỗi Trong dây chuyền đếm sản phẩm, kiểm soát lỗi, phân loại sản phẩm, đo kích thước đối tượng được thực hiện tự động thông qua
Trang 17hệ thống camera quan sát [6] Ứng dụng thị giác máy tính cho phép thực hiện nhiều phép
đo trong một khoảng thời gian ngắn, tăng độ chính xác và hoạt động ổn định [7][8][9] Đếm số lượng các đối tượng xuất hiện là một vấn đề thường gặp trong nhiều ứng dụng thị giác máy [10] Đặc biệt trong các hệ thống sản xuất hoạt động ở tốc độ cao, rất khó thực hiện phép đếm nếu không sử dụng thị giác máy tính Do đó, việc sử dụng các
hệ thống thị giác máy trở nên cần thiết phục vụ tự động và có độ chính xác và ổn định cao hơn khi sử dụng con người Nghiên cứu sử dụng camera tốc độ cao là một ví dụ điển hình cho hướng nghiên cứu này, các sản phẩm đi qua băng tải đã được ghi lại thông qua camera có khả năng ghi 60 khung hình/giây
1.3 Tổng quan về camera quan sát
1.3.1 Khái niệm
Camera quan sát hay camera giám sát, camera an ninh là thiết bị được lắp đặt để
hỗ trợ việc giám sát, quản lý khi ở xa, sử dụng camera giám sát để ghi lại những hình ảnh, lưu trữ và để xem lại khi chúng ta cần Camera thực hiện chức năng ghi hình ảnh,
xử lý hình ảnh, còn việc lưu trữ hình ảnh được chuyển về đầu ghi hình [12]
Hình 1.1 Các loại camera quan sát 1.3.2 Phân loại
Camera Analog: Là một camera quan sát với cảm biến CCD và sau đó hình ảnh
được số hóa để xử lý Nhưng trước khi có thể truyền tải hình ảnh, nó cần phải chuyển đổi tín hiệu trở lại analog và truyền tải về một thiết bị analog, chẳng hạn như màn hình hoặc thiết bị lưu trữ
Trang 18Camera IP: Là camera quan sát được điều khiển và sử dụng từ xa qua mạng Mỗi
Camera được có một địa chỉ IP có thể hoạt động độc lập hoặc kết hợp thành một hệ thống mà không bị giới hạn về số lượng camera
1.3.3 Những yếu tố quan trọng
1.3.3.1 Tầm quan sát và góc quan sát
Chất lượng của ống kính camera quan sát quyết định tầm quan sát và góc quan sát Ống kính có tầm quan sát càng xa thì quan sát càng xa Để cho góc quan sát rộng, tầm quan sát vừa phải thì ống kính phổ biến của camera quan sát là ống kính 3.6mm, 4mm, 6mm
1.3.3.2 Độ phân giải
Độ phân giải camera quan sát là độ phân giải của cảm biến, nó được quyết định bởi con chip cảm biến ảnh Độ phân giải có đơn vị là TVL hoặc Megapixel Độ phân giải càng cao thì cho chất lượng hình ảnh càng rõ Do đó nếu chúng ta muốn quan sát hiệu quả nhất nên chọn những dòng camera có độ phân giải từ HD (1280x720) trở lên
1.3.3.3 Khả năng quan sát ban đêm của Camera
Khả năng quan sát trong bóng tối ảnh hưởng bởi độ nhạy sáng tối thiểu Độ nhạy sáng càng thấp thì camera càng có khả năng quan sát trong bóng tối tốt hơn
1.4 Các công cụ hỗ trợ nhận dạng đối tượng
1.4.1 Thư viện ImageAI
ImageAI là thư viện python mã nguồn mở được xây dựng để trao quyền cho các nhà phát triển xây dựng các ứng dụng và hệ thống với các khả năng Deep Learning và Computer Vision độc lập bằng cách sử dụng các dòng mã đơn giản và vài dòng Được phát triển và duy trì bởi Moses Olafenwa và John Olafenwa
Được xây dựng với ý tưởng đơn giản, ImageAI hỗ trợ danh sách các thuật toán Machine Learning tiên tiến để phát hiện đối tượng trong ảnh thông qua việc học ImageAI hiện hỗ trợ việc huấn luyện và nhận dạng sử dụng 4 giải thuật học máy khác nhau và được huấn luyện trên bộ dữ liệu ImageNet-1000 ImageAI cũng hỗ trợ phát hiện đối tượng trong ảnh và video, theo dõi đối tượng sử dụng giải thuật RetinaNet, YOLOv3 và TinyYOLOv3 được huấn luyện trên bộ dữ liệu COCO Ngoài ra,
Trang 19ImageAI cho phép người dùng tùy chỉnh để huấn luyện các mô hình để thực hiện phát hiện các đối tượng mới [13]
Dự đoán hình ảnh: ImageAI cung cấp 4 thuật toán khác nhau để thực hiện dự
đoán hình ảnh, được huấn luyện trên bộ dữ liệu ImageNet-1000 Bốn thuật toán được cung cấp để dự đoán hình ảnh bao gồm: SqueezeNet, ResNet, InceptionV3 và DenseNet [13] Mỗi thuật toán này có các tệp mô hình riêng mà bạn phải sử dụng tùy thuộc vào lựa chọn thuật toán của bạn
Phát hiện đối tượng: ImageAI cung cấp các phương thức rất thuận tiện và mạnh
mẽ để thực hiện phát hiện đối tượng trên hình ảnh và trích xuất từng đối tượng từ hình ảnh Lớp phát hiện đối tượng hỗ trợ RetinaNet, YOLOv3 và TinyYOLOv3 Để bắt đầu thực hiện phát hiện đối tượng, chúng ta tải xuống mô hình phát hiện đối tượng RetinaNet, YOLOv3 hoặc TinyYOLOv3 thông qua các liên kết của nó
Hình 1.2 Kết quả phát hiện đối tượng của ImageAI [13]
Phát hiện và theo dõi đối tượng video: ImageAI cung cấp các phương thức rất
thuận tiện và mạnh mẽ để thực hiện phát hiện đối tượng trong video và theo dõi các đối tượng cụ thể
Trang 20Hình 1.3 Kết quả các đối tượng được phát hiện [13]
Huấn luyện mô hình tùy chỉnh: ImageAI cung cấp các lớp và phương thức để
người dùng huấn luyện một mô hình mới có thể được sử dụng để thực hiện dự đoán trên các đối tượng tùy chỉnh của riêng bạn Việc huấn luyện các mô hình tùy chỉnh của mình bằng SqueezeNet, ResNet50, InceptionV3 và DenseNet trong 5 dòng mã
Dự đoán hình ảnh tùy chỉnh: ImageAI cung cấp các lớp và phương thức để bạn
chạy dự đoán hình ảnh các đối tượng tùy chỉnh của riêng bạn bằng mô hình của riêng bạn được đào tạo với lớp đào tạo mô hình ImageAI Bạn có thể sử dụng các mô hình tùy chỉnh được đào tạo với SqueezeNet, ResNet50, InceptionV3 và DenseNet và tệp JSON chứa ánh xạ của các tên đối tượng tùy chỉnh
Đào tạo mô hình phát hiện tùy chỉnh: ImageAI cung cấp các lớp và phương thức
để bạn huấn luyện các mô hình phát hiện đối tượng YOLOv3 mới trên tập dữ liệu tùy chỉnh của bạn Điều này có nghĩa là bạn có thể đào tạo một mô hình để phát hiện bất kỳ đối tượng quan tâm nào bằng cách cung cấp hình ảnh, chú thích và đào tạo với ImageAI
Phát hiện đối tượng tùy chỉnh: ImageAI hiện cung cấp các lớp và phương thức
để bạn phát hiện và nhận ra các đối tượng tùy chỉnh của riêng bạn trong hình ảnh bằng
mô hình của riêng bạn được đào tạo với lớp RecognModelTraining Bạn có thể sử dụng chế độ YOLOv3 được đào tạo tùy chỉnh của mình và tệp detection_config.json được tạo trong quá trình đào tạo
Trang 211.4.2 Giới thiệu LabelImg
LabelImg là một công cụ chú thích hình ảnh đồ họa Các chú thích được lưu dưới dạng tệp XML ở định dạng PASCAL VOC, định dạng được ImageNet sử dụng Bên cạnh đó, nó cũng hỗ trợ định dạng YOLO [14]
Hình 1.4 Giao diện và cách chú thích đối tượng của LabelImg [14]
1.4.3 Giới thiệu Google Colab
Google Colab là một dịch vụ đám mây miễn phí và hiện tại nó hỗ trợ GPU miễn phí Chúng ta có thể: Cải thiện kỹ năng mã hóa ngôn ngữ lập trình Python; phát triển các ứng dụng học tập sâu bằng cách sử dụng các thư viện phổ biến như Keras, TensorFlow, PyTorch và OpenCV Tính năng quan trọng nhất giúp phân biệt Colab với các dịch vụ đám mây miễn phí khác là: Colab cung cấp GPU và hoàn toàn miễn phí [15][18]
1.4.4 TensorFlow
TensorFlow là một nền tảng nguồn mở đầu cuối để học máy Nó có một hệ sinh thái toàn diện, linh hoạt gồm các công cụ, thư viện và tài nguyên cộng đồng cho phép các nhà nghiên cứu thúc đẩy công nghệ tiên tiến trong máy học và các nhà phát triển dễ dàng xây dựng và triển khai các ứng dụng
TensorFlow ban đầu được phát triển bởi các nhà nghiên cứu và kỹ sư làm việc trong nhóm Google Brain trong tổ chức Nghiên cứu trí tuệ máy của Google để tiến hành học máy và nghiên cứu mạng lưới thần kinh sâu Hệ thống này đủ chung để có thể áp dụng trong nhiều lĩnh vực khác nhau
TensorFlow cung cấp API Python và C ++ ổn định, cũng như API tương thích ngược không được bảo đảm cho các ngôn ngữ khác [16]
Trang 221.4.5 OpenCV
OpenCV là một thư viện mã nguồn mở gồm các chức năng lập trình chủ yếu nhắm vào tầm nhìn máy tính thời gian thực Được phát triển đầu tiên bởi Intel, sau đó được Willow Garage hỗ trợ sau đó là Itseez (sau này được Intel mua lại) Thư viện đa nền tảng và miễn phí sử dụng theo giấy phép BSD nguồn mở
như: TensorFlow , Torch , PyTorch và Caffe theo danh sách các lớp được hỗ trợ xác định Nó thúc đẩy Open Vision Capsules, là định dạng di động, tương thích với tất cả các định dạng khác [17]
Trang 23Chương 2 CƠ SỞ KHOA HỌC VỀ CHIM YẾN VÀ NHÀ YẾN
2.1 Đặc điểm hình thái của chim yến
2.1.1 Hình thái của chim yến đảo
Chim trưởng thành: Lông mặt lưng nâu đen nhạt, cánh, đuôi và đỉnh đầu thẫm
hơn; Một dải rộng màu xám ngang qua hông với thân lông có vạch đen Lông mặt bụng nâu, phớt xám Ở chim non, các thân lông ở mặt bụng màu thẫm Cằm màu nâu xám bạc tạo thành vòng cườm Giò trần Mắt nâu đen Mỏ đen Chân nâu
Kích thước: Cánh: 12 - 12,5 cm (trung bình 11,7 cm); Đuôi: 4,4 - 5,3 cm (trung
bình 4,81 cm); Giò: 1 - 1,3 cm (trung bình 1,12 cm); Mỏ: 0,4 - 0,5 cm (trung bình 0,47 cm); Móng chân trung bình 4mm; Trọng lượng: 12,60 - 14,86 g (trung bình 13,76 g) [4]
Hình 2.1 Đặc điểm hình thái chim yến đảo Aerodramus ficuphagus
Những đặc điểm hình thái được mô tả trên phù hợp với đặc điểm hình thái của
phân loài Aerodramus fuciphagus germani (Oustalet, 1876)
2.1.2 Hình thái của chim yến nhà
Chim trưởng thành: Lông mặt lưng xám đen, cánh, đuôi và đỉnh đầu thẫm
hơn; Một dải rộng màu xám ngang qua hông với thân lông có vạch đen Lông mặt bụng màu xám Ở chim non, các thân lông ở mặt bụng màu thẫm Giò trần Mắt nâu
Mỏ đen Chân nâu
Trang 24Kích thước: Cánh: 107– 120 mm (trung bình 113,6 mm); Đuôi: 42 – 52 mm (trung
bình 44,8 mm); Giò: 9– 12 mm (trung bình 10,4 mm); Mỏ: 4 - 5 m (trung bình 4,7 mm); Móng chân trung bình 4 mm Trọng lượng: 9,88 - 13,74 gam (trung bình 11,23 g) [4]
Hình 2.2 Đặc điểm hình thái chim yến nhà nhìn phía trước
Kết quả phân tích đặc điểm hình thái chim yến ta có thể phân biệt được chim yến đảo và chim yến nhà qua hình thảo như sau:
- Yến đảo có màu lông ở hông sáng rõ tách biệt với màu lông ở lưng Yến nhà có màu lông ở hông hơi sáng hơn màu lông ở lưng
- Yến đảo có lông mặt lưng nâu đen nhạt; lông mặt bụng nâu, phớt xám Yến nhà
có Lông mặt lưng xám đen; lông mặt bụng màu xám
- Kích thước hình thái chim yến đảo và nhà cho thấy có sự khác biệt về trọng lượng, chiều dài đuôi, chiều dài mỏ, chiều dài cánh, chiều dài cẳng chân, chiều dài móng chân
2.2 Đặc điểm sinh thái học của chim yến
2.2.1 Sinh thái học của chim yến đảo
Chim yến đảo rời hang đi kiếm ăn từ 4h - 4h30 và trở về lúc 19h00 - 20h00 Tuy nhiên, những năm gần đây vào mùa đông một số cá thể chim yến bay về tổ rất trễ (20h00
Trang 25chim kiếm ăn về muộn Mùa đông, khi chim yến quay trở về hang trú ngụ vào buổi tối thì thường đậu bám rúc vào nhau theo kiểu tổ ong mật, điều này có thể giải thích rằng chim đậu bám vào nhau để giữ cho thân nhiệt cơ thể được ấm (Hình 2.3) [4]
Hình 2.3 Chim yến nằm sát nhau trên vách đá buổi tối
Chim yến đảo làm tổ chia thành 2 đợt trong năm, đợt 1 từ cuối tháng 12 đến tháng
3 năm sau, thường tập trung đẻ vào tháng 4 Đợt 1 thời gian làm tổ kéo dài là do nguồn thức ăn khan hiếm, thời tiết không thuận lợi cho việc làm tổ và chim chưa có nhu cầu sinh sản; Đợt 2 sau khi thu hoạch tổ yến được 2 tuần thì chim bắt đầu làm tổ lại (làm tổ
từ tháng 5 - 6), trong giai đoạn này nhu cầu sinh sản của chim cao nên chim yến làm tổ rất nhanh Cả chim trống và mái cùng làm tổ, cùng ấp và cùng nuôi con
Chim yến làm tổ bằng cách tiết ra nước bọt và kéo dài thành sợi, sau đó dùng mỏ quẹt lên vách đá, đầu tiên chúng xây dựng chân tổ trước sau đó tạo hình dạng tổ, khi đã hình thành hình dạng tổ chúng mới bắt đầu đắp những sợi nước bọt tạo thành vành tổ và cùng nhau xây dựng thành tổ hoàn chỉnh Tổ làm hoàn toàn bằng nước bọt màu trắng hình bán nguyệt, kích thước tổ trung bình để chim đẻ trứng là R= 35 đến 50 mm Số lượng trứng mỗi lứa đẻ dao động từ 1 - 2 quả, thường là 2 quả, kích thước trung bình 21,26 x 13,84 mm, trọng lượng khoảng 2,25g Chim thường đẻ trứng vào lúc sáng sớm
từ 2h đến 4h sáng Thời gian đẻ giữa trứng 1 và trứng 2 khoảng 1 đến 4 ngày Chu kỳ
Trang 26sinh sản trung bình: Chim ấp trứng (24 ngày), từ lúc trứng nở đến khi chim con biết bay (42 ngày) [4]
2.2.2 Sinh thái học của chim yến nhà
Chim rời nhà yến đi kiếm ăn từ 5h - 5h30 và trở về lúc 18h00 - 18h30 Đối với chim yến trong giai đoạn không nuôi chim non thì chúng rời tổ đi kiếm ăn từ sáng cho đến chiều tối mới về tổ Những cặp chim đang ấp thì luôn phiên nhau về ấp trứng Những cặp chim đang nuôi chim non tùy thuộc vào chim con lớn hay nhỏ mà chim bố
mẹ quay về tổ cho chim non ăn nhiều hay ít
Chim làm tổ bằng nước bọt do tuyến nước bọt tiết ra Thời gian trung bình để chim yến nhà làm xong tổ khoảng 50 ngày Kích thước tổ trung bình R = 50 mm, giao động R: 35 – 65 mm Chim yến nhà sinh sản quanh năm, tuy nhiên vào các tháng 11, 12 và tháng 1 chim không sinh sản hoặc rất hạn chế Chim thường đẻ 2 trứng Thời gian từ khi
đẻ trứng thứ nhất đến trứng thứ hai trung bình khoảng 3 ngày Thời gian ấp trứng khoảng
23 ngày, thời gian chim có thể bay rời tổ khoảng 48 ngày tuổi Sau khi chim yến non rời
tổ nếu chúng ta không khai thác thu hoạch tổ thì chim bố mẹ sẽ tiếp tục sử dụng tổ đó cho đợt sinh sản sau, lần sau chim yến tiếp tục gia cố tổ dày thêm Điều kiện thuận lợi cho chim yến sống, làm tổ trong nhà yến: Nhiệt độ 27 - 31oC, độ ẩm: 70 - 85%, ánh sáng nhỏ hơn 0,2 Lux [4]
2.3 Kỹ thuật xây dựng nhà yến
2.3.1 Chọn vị trí và mô hình nhà nuôi chim yến
Vị trí nhà yến ảnh hưởng tới tốc độ phát triển quần đàn chim yến của nhà yến và năng suất chất lượng của tổ yến, hiệu quả đầu tư xây dựng nhà nuôi chim yến Do đó,
để chọn được vị trí tốt cần đánh giá các tiêu chí về sự phân bố của chim yến, nguồn thức
ăn cho chim yến, điều kiện khí hậu, môi trường xung quanh…
Sau khi chọn được vị trí xây dựng nhà nuôi chim yến phù hợp thì việc thiết kế ngôi nhà yến phải dựa trên kết quả khảo sát khu vực, vị trí dự tính xây nhà yến và yêu cầu kỹ thuật vận hành, hoạt động một nhà nuôi yến mà lựa chọn chủng loại vật liệu phù hợp đạt yêu cầu, hiệu quả kinh tế
Nhà yến được xây thành nhiều tầng, chiều cao mỗi tầng 3,5 - 4,5 m tùy theo điều
Trang 27- 4,5 m để tạo sự thông gió và thoáng mát Ở những vùng biên độ nhiệt thấp thì chiều
cao tầng 3,5 - 3,9 m
Mẫu nhà yến bình thường phải có sân lượn để chim bay lượn vòng tròn, ở nơi yên tĩnh, tránh các cản trở có thể ngăn chặn đường bay của chim Kích thước tối thiểu cho sân bay lượn là 4x4 m, càng rộng càng tốt Trong nhà yến với hệ thống nhiều phòng, phải có phòng lượn (phòng cho chim bay lượn vòng tròn) vì chim khi bay vào nhà thường thích bay lượn một lúc trong phòng dạo trước khi vào phòng nghỉ Kích thước của phòng tối thiểu là 4x4 m [1]
Hình 2.4 Mô hình bên trong nhà yến
Trang 28Hình 2.5 Mô hình núi yến nhân tạo diện tích đáy 300 m 2 , cao 15 m
2.3.2 Lắp đặt trang thiết bị nhà yến
Sau khi chúng ta xây dựng xong nhà nuôi yến, thực hiện vệ sinh rửa sạch các bụi bẩn bám bên trong, khử mùi xi măng bằng các hộp chất chuyên dụng, sau đó mới tiến hành lắp đặt các trang thiết bị cho nhà yến
2.3.2.1 Lắp đặt hệ thống giá tổ
Để mang lại hiệu quả kỹ thuật và hiệu quả kinh tế cho ngôi nhà yến thì vật liệu sử dụng và việc bố trí giá tổ sao cho khoa học, đảm bảo được những yêu cầu kỹ thuật là rất quan trọng Gỗ làm giá tổ được sử dụng là các loại gỗ không mùi, có độ mềm xốp, chịu
ẩm tốt và sử dụng phổ biến hiện nay là gỗ dừa, gỗ bạch tùng, gỗ thông trắng…
Trang 292.3.2.2 Lắp đặt thiết bị âm thanh
Để dẫn dụ chim yến về nhà sinh sống và cho làm tổ, mỗi nhà yến thường có hai hệ thống âm thanh, trong nhà và ngoài trời, dùng để phát tiếng chim với nhiều cỡ âm lượng khác nhau Âm thanh góp phần nâng cao tính gần gũi bầy đàn, môi trường sống mới, phù hợp với đặc điểm sinh học của chim yến Trong quy trình kỹ thuật công nghệ nuôi chim yến ở mỗi giai đoạn khác nhau chúng ta sẽ sử dụng âm thanh khác nhau để tạo hiệu quả tối ưu
Hình 2.7 Máy phát âm thanh đa năng
Hình 2.8 Loa chuyên dụng bên trong nhà yến
Trang 302.3.2.3 Lắp đặt thiết bị phun sương tạo độ ẩm
Hệ thống phun sương tạo ẩm để duy trì nhiệt độ và độ ẩm cho nhà yến, tạo ra môi trường sống phù hợp để dẫn dụ chim yến về nhà, đảm bảo được môi trường sống ổn định cho chim yến, nâng cao chất lượng tổ yến
Hình 2.9 Lắp đặt hệ thống phun sương bên ngoài nhà yến
2.3.3 Vận hành nhà yến
Vận hành nhà yến là một khâu vô cùng quan trọng, gồm những công việc như kiểm
tra, theo dõi, điều chỉnh các thông số kỹ thuật quan trọng của nhà yến như: Nhiệt độ, độ
ẩm, ánh sáng, âm thanh nhà yến, kỹ thuật tạo mùi cho nhà yến Chúng ta cần phải biết vận hành sử dụng các thiết bị phụ trợ cần thiết cho nhà yến như: Máy phát âm thanh, máy tạo ẩm, máy bơm, máy phát điện… Ngoài ra, trong quá trình vận hành chăm sóc nhà yến chúng ta dễ dàng phát hiện các thiên địch xâm nhập nhà yến để có giải pháp
phòng chống hiệu quả
Trang 31Chương 3 PHÂN TÍCH BÀI TOÁN
Trong nghiên cứu này chúng tôi sử dụng ImageAI để huấn luyện mô hình thực hiện phát hiện, nhận dạng và ước lượng số chim yến Các bước nghiên cứu gồm: Thu thập dữ liệu, xây dựng cơ sở dữ liệu, huấn luyện mô hình, nhận dạng chim yến và ước lượng số chim yến
3.1 Thu thập dữ liệu
Để thu thập dữ liệu, chúng tôi sử dụng hai Camera IP Wifi HIKVISION 2CD2020F-IW lắp đặt bên trong nhà yến tại xã Vĩnh Phương, Tp Nha Trang, Tỉnh Khánh Hòa để thu thập hình ảnh chim yến Mỗi camera định kỳ 10 phút lưu hình ảnh 1 lần, thời gian thu mẫu từ ngày 5/11 đến 10/11/2019
DS-Hình 3.2 Vị trí hai camera lắp đặt trong nhà yến ở Vĩnh Phương
Camera lắp trong phòng nhà yến phải quan sát được toàn bộ sàn nhà yến như Hình 3.3 và Hình 3.4 Một ví dụ cho trường hợp lắp đặt vị trí camera không quan sát hết sàn nhà yến như Hình 3.5 Lắp đặt camera không quan sát được hết sàn nhà yến dẫn đến
Huấn luyện
mô hình
Nhận dạng chim yến
Ước lượng
số chim yến Hình 3.1 Sơ đồ nhận dạng và ước lượng chim yến
Trang 32việc thu thập hình ảnh chim yến không chính xác, do đó kết quả nhận dạng và đếm số lượng chim trong nhà yến không chính xác
Hình 3.3 Ảnh bên trong nhà yến của
camera 1 vào lúc 14h ngày 9/11/2019
Hình 3.4 Ảnh bên trong nhà yến của camera 2 vào lúc 19h ngày 9/11/2019
Hình 3.5 Ảnh bên trong nhà yến của camera có vị trí lắp chưa phù hợp
3.2 Xây dựng dữ liệu
Để huấn luyện mô hình phát hiện chim yến bên trong nhà yến, chúng ta cần chuẩn
bị các hình ảnh bên trong nhà yến để huấn luyện mô hình Dữ liệu phục vụ cho việc huấn luyện mô hình là tập hợp các hình ảnh như sau:
Hình ảnh bên trong nhà yến thu thập tối thiếu khoảng 200 ảnh [13] Chọn hình ảnh
rõ nét, có sự khác nhau về vị trí, tư thế đậu của chim yến bao phủ hầu hết các vị trí và
tư thế của chim yến trong nhà, sử dụng phần mềm Snip & Sketch của Microsoft để cắt loại bỏ những vùng ảnh chất lượng kém, chỉ chọn những vùng ảnh có chất lượng tốt và
có sự khác nhau về tư thế đậu của chim yến
Trang 33Sau khi biên tập được bộ ảnh dùng để huấn luyện mô hình, bước tiếp theo tiến hành đánh nhãn cho các đối tượng trên ảnh, trong nghiên cứu này chúng tôi sử dụng LabelImg để chú thích đối tượng chim yến trong hình ảnh với nhãn “cy”; Chú thích đối tượng loa trong hình ảnh với nhãn “loa” như Hình 3.7 Các chú thích được lưu dưới dạng tệp XML ở định dạng Pascal VOC [13]
Hình 3.7 Kết quả định vị, gán nhãn cho chim yến trong ảnh sử dụng phần mềm LabelImg
Khi bạn hoàn thành đánh nhãn bằng việc chú thích hình ảnh các tệp XML chú thích sẽ được tạo cho mỗi hình ảnh trong tập dữ liệu của bạn Tệp XML chú thích mô tả từng hoặc tất cả các đối tượng trong ảnh [13] Ví dụ: Nếu mỗi hình ảnh, tên hình ảnh của bạn là image(1).jpg, image(2).jpg, image(3).jpg cho đến image(z).jpg; Chú thích tương ứng cho mỗi hình ảnh sẽ là image(1).xml, image(2).xml, image(3).xml cho đến image(z).xml:
>> annotations >> image(1).xml
Trang 34con là train và validation
Trong thư mục train, tạo thư mục images và annotations Đặt khoảng 70-80% dữ liệu của bạn về từng hình ảnh của đối tượng vào thư mục images và đặt các chú thích tương ứng cho các hình ảnh này vào thư mục annotations
Trong thư mục validation, tạo thư mục images và annotations Đặt phần còn lại của hình ảnh tập dữ liệu của bạn vào thư mục images và đặt chú thích tương ứng cho những hình ảnh này trong thư mục annotations
>> salanganes >> train >> images >>image(1).jpg
Trang 353.3 Huấn luyện mô hình
Sử dụng thư viện ImageAI để huấn luyện các mô hình phát hiện dựa trên cơ sở dữ liệu đã được xây dựng bằng việc thu thập các hình ảnh thực tế và gán nhãn sử dụng kiến trúc YOLOv3 với các tham số tùy chỉnh cho phù hợp mô hình huấn luyện ImageAI cho phép chúng ta huấn luyện mô hình của riêng mình trên bất kỳ bộ ảnh nào tương ứng với bất kỳ loại đối tượng chúng ta quan tâm Quá trình huấn luyện tạo ra một tệp JSON ánh
xạ tên các đối tượng trong tập dữ liệu hình ảnh của chúng ta và tạo ra nhiều mô hình
Chúng ta có thể huấn luyện mô hình phát hiện tùy chỉnh của mình hoàn toàn từ đầu hoặc sử dụng phương pháp học chuyển (được khuyến nghị để có độ chính xác cao hơn) từ mô hình YOLOv3 được đào tạo trước
3.3.1 Chuẩn bị huấn luyện mô hình
Để huấn luyện mô hình sử dụng thư viện Image AI trong ứng dụng, chúng ta cần phải cài đặt thêm các thư viện như bên dưới trước khi cài đặt Image AI:
(1) Python 3.5.1 (hoặc các phiên bản trước)
(2) Tensorflow 1.4.0 (hoặc các phiên bản trước)
(3) OpenCV
(4) Keras 2.x
Chúng ta cài đặt các thư viện trên bằng cách chạy lệnh sau:
pip install -U tensorflow keras opencv-python
Huấn luyện mô hình là công việc đòi hỏi những tính toán chuyên sâu vì vậy việc
sử dụng máy tính có card đồ họa là hết sức cần thiết Việc huấn luyện dữ liệu sử dụng CPU có thể làm chúng ta mất hàng giờ Với việc sử dụng card đồ họa giúp chúng ta tiết kiệm được nhiều thời gian hơn Vì vậy trong đề tài này chúng tôi ưu tiên sử dụng máy
có card đồ họa để huấn luyện mô hình Đối với máy tính có card đồ họa chúng ta nên cài đặt tensorflow GPU Cấu trúc lệnh cài đặt như sau:
pip install tensorflow-gpu==1.13
TensorFlow GPU yêu cầu card đồ họa có hỗ trợ CUDA Chúng ta có thể tham khảo các card đồ họa hỗ trợ CUDA theo link bên dưới:
https://developer.nvidia.com/cuda-gpus
Trang 36Máy tính của chúng tôi sử dụng card NVIDIA GeForce GTX 1060 6B:
Hình 3.8 Thông tin về GPU máy tính sử dụng để huấn luyện mô hình
Để sử dụng được CUDA trên card đồ họa khi dùng platform Tensorflow, chúng ta cần thực hiện các bước sau:
(1) Tải về Cuda toolkit theo đường dẫn bên dưới Lưu ý: chọn version 10.0 dành cho Win 10
https://developer.nvidia.com/cuda-toolkit-archive
(2) Tải về CUDNN về theo đường dẫn bên dưới
https://developer.nvidia.com/cudnn
(3) Cài đặt biến môi trường “System variables” cho NVIDIA GPU Computing
Toolkit bằng cách chạy các lệnh sau:
Toolkit\CUDA\v10.0\bin;%PATH%
Trang 37SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\extras\CUPTI\libx64;%PATH%
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
with tf.Session() as sess:
print (sess.run(c))
3.3.2 Sử dụng Google Colab để huấn luyện mô hình
Trong nghiên cứu này chúng tôi đã sử dụng Tesla K80 GPU của google Colab để huấn luyện mô hình Lưu ý là chúng ta chỉ có thể huấn luyện tối đa 12 giờ liên tục, khi code nhớ lưu mô hình trong quá trình huấn luyện sau mỗi khoảng thời gian tránh việc mất mạng phải huấn luyện lại từ đầu [11]
Google Colab thực hiện cài đặt trên Drive:
(1) Tạo một Folder cho Notebook của bạn:
- Vào drive, tạo thư mục mới, (VD: Colab Notebooks), vào thư mục
- Chuột phải, chọn “ứng dụng khác” (more) -> “kết nối ứng dụng khác” Cửa sổ hiện lên, gõ keyword “Colab” và cài luôn extension đầu tiên
- Sau khi cài xong, quay lại thư mục -> chuột phải -> “ứng dụng khác” (more) ->
“kết nối ứng dụng khác” -> Colaboratory
- Như vậy chúng ta đã tạo ra một notebook trên google colab rồi