Sử dụng phương pháp trong luận văn

Một phần của tài liệu Xây dựng ứng dụng iOS đếm vật thể mật độ cao trong hình ảnh dựa vào học máy và xử lý ảnh đồ án tốt nghiệp khoa đào tạo chất lượng cao ngành công nghệ thông tin (Trang 47 - 51)

3.2. Phương pháp sử dụng Học máy và Neural Networks

3.2.3. Sử dụng phương pháp trong luận văn

Để sử dụng được những phương pháp từ hai bài báo SKU-110K CVPR và Keras RetinaNet địi hỏi nhóm cần có khả năng đọc hiểu được những mắt xích và tham số quan trọng trong soucre code của tác giả, nắm được những kiến thức cơ bản về Python và một số thư viện cốt lõi để có thể thực hiện train, test và predict. 3.2.3.1. Chuẩn bị bộ dataset

Nhóm đã tự đánh nhãn thủ cơng hơn 10 bộ dataset với hơn 100 hình và 2000 bounding box mỗi bộ.

Việc chuẩn bị dataset tốn rất nhiều thời gian, nhóm đã tìm hiểu và xác định những vật thể dễ tiếp cận trước để thu thập dữ liệu và đánh nhãn.

Việc đánh nhãn được sử dụng bằng cơng cụ LabelImg và format của annotation là .XML, nhóm đã tìm hiểu và viết function để convert từ dạng

.XML sang CSV cho đúng chuẩn annotation format của bài báo để thuận tiện trong quá trình train.

3.2.3.2. Cách train

Vì thời điểm ra đời của bài 2019, nên nhóm đã gặp rất nhiều khó khăn trong việc sử dụng ở hiện tại, địi hỏi nhóm phải đọc kĩ và sửa đổi source code của tác giả cho phù hợp với môi trường Google Colab và các package hiện tại. Cụ thể các phiên bản quan trọng:

- tensorflow 1.13.1 - tensorflow-gpu 1.13.1 - keras 2.2.4

- h5py 2.10.0 - keras_resnet 0.2.0

Việc train cho model diễn ra hai lần.

Lần thứ nhất là cho model base bằng pretrained model và phương pháp của Keras RetinaNet.

Lần thứ hai là sử dụng weight file (.h5) vừa có được để train cho IoU layer của bài SKU-110K CVPR, sẽ train cho một layer mới để tính được điểm số của từng bounding box.

3.2.3.3. Cách kiểm tra và sử dụng kết quả

Việc sử dụng kết quả dựa trên sự kết hợp Keras RetinaNet và SKU-110K CVPR. Sử dụng phương pháp Keras RetinaNet để chuyển đổi từ training model được sang interface model để giảm dung lượng và tăng tốc độ load model vào RAM và predict.

Sau đó dùng phương pháp cảu SKU-110K CVPR để biến đổi và lọc lại kết quả đã được predict (MoG và EM-Merger). Cụ thể:

Chương 3: PHƯƠNG PHÁP ĐẾM VẬT THỂ TRONG HÌNH ẢNH

Hình 3.23 Code minh hoạ predict bằng phương pháp học máy

Model sẽ predict và đưa ra 4 giá trị và boxes (bounding box), hard_scores (điểm số hard của Jaccard) , labels (tên của box, cụ thể trong luận văn chỉ có 1 loại mỗi model), soft_scores (điểm số soft của Jaccard).

Sử dụng threshhold là 0.5 và EM-Merger để lọc lại những bounding box bị đè lên nhau và có kết quả ở filtered_data là danh sách các bounding box đúng vị trí.

Sử dụng kết quả:

Kết quả số lượng vật thể trong hình ảnh bằng số lượng filtered_boxes, các giá trị x, y, height, width là lần lượt là toạ độ điểm gốc và chiều cao/chiều ngang của hình chữ nhật, score là độ tin cậy của box đó.

Một phần của tài liệu Xây dựng ứng dụng iOS đếm vật thể mật độ cao trong hình ảnh dựa vào học máy và xử lý ảnh đồ án tốt nghiệp khoa đào tạo chất lượng cao ngành công nghệ thông tin (Trang 47 - 51)

Tải bản đầy đủ (PDF)

(185 trang)