Đo lường – Tin học 
 P. C. P. Khanh, , T. Đ. Tân, “Một phương pháp thu nhận  phân loại hành vi của bò.” 340
MỘT PHƯƠNG PHÁP THU NHẬN VÀ TIỀN XỬ LÝ DỮ LIỆU CẢM 
BIẾN GIA TỐC 3 TRỤC, PHỤC VỤ PHÂN LOẠI HÀNH VI CỦA BÒ 
Phùng Công Phi Khanh1,4,*, Hoàng Quang Trung2, 
Nguyễn Tiến Anh3, Trần Đức Tân4 
Tóm tắt: Phân loại hành vi của bò giúp người ta giám sát được các hoạt động của 
bò từ đó có thể theo dõi được sức khỏe và các thời kỳ sinh lý của bò. Để phân loại 
hành vi của bò người ta thường sử dụng dữ liệu từ cảm biến gia tốc 3 trục gắn trên cổ 
bò. Căn chỉnh là một phương pháp cải thiện hiệu năng của cảm biến bằng cách loại 
bỏ lỗi cấu trúc trong dữ liệu đầu ra cảm biến. Trong nghiên cứu này, chúng tôi thu 
nhận dữ liệu từ cảm biến gia tốc 3 trục gắn trên cổ bò, thông qua vi điều khiển và hệ 
thống truyền không dây đưa dữ liệu về máy tính. Đề xuất phương pháp căn chỉnh cảm 
biến, chuẩn hóa dữ liệu đầu ra của cảm biến theo từng giây và xây dựng bộ dữ liệu 
dựa trên việc đồng bộ hóa với video quan sát thực tế. Thử nghiệm phân loại hành vi 
của bò dùng thuật toán cây quyết định với bộ dữ liệu thu được. 
Từ khóa: Cảm biến gia tốc; Truyền thông không dây; Giám sát hoạt động gia súc. 
1. ĐẶT VẤN ĐỀ 
Hiện nay, ở Việt Nam và trên thế giới có nhiều kỹ thuật giúp giám sát sức khỏe, hoạt 
động và các vấn đề sinh sản của vật nuôi trên quy mô lớn. Tuy nhiên, những kỹ thuật hiện 
tại đang áp dụng còn khá thủ công và cần sự can thiệp của sức người. Việc nghiên cứu các 
kỹ thuật và thiết bị mới luôn là một chủ đề được quan tâm mạnh mẽ. Như trong bài báo số 
[1], nhóm tác giả lấy dữ liệu từ cảm biến gia tốc 3 trục gắn trên cổ bò để phân tích và tập 
trung vào phân loại ba hoạt động của bò gồm: đứng, nằm và ăn. Thuật toán sử dụng khá đa 
dạng như thuật toán cây quyết định, K-means, mô hình Markov ẩn (HMM) và thuật toán 
máy véc tơ hỗ trợ. 
Tuy nhiên, chưa phân biệt rõ sự chuyển trạng 
thái từ đứng sang nằm và ngược lại, chưa có một 
số trạng thái khác như trạng thái: đi, ngủ, uống 
nước và trạng thái nhai lại của bò. Trong bài báo 
[2], nhóm tác giả sử dụng nhiều loại cảm biến khác 
nhau như: cảm biến gia tốc 3 trục, cảm biến từ 
trường 3 trục, cảm biến tốc độ di chuyển, cảm biến 
nhiệt độ. Bên cạnh đó, họ xây dựng một nền tảng 
cảm biến không dây để thu thập thông tin từ gia 
súc mà không cần can thiệp đến chúng. Tuy nhiên, 
hệ thống mới dừng lại ở việc lưu trữ dữ liệu trên 
thẻ nhớ. Trong bài báo số [3], các tác giả chỉ tập 
trung vào việc xác định thời kỳ rụng trứng của 
giống bò đen ở Nhật dựa vào việc giám sát số bước 
chân thời gian thực và truyền thông không dây. 
Trong các bài báo chưa đề cập rõ ràng đến việc căn chỉnh cảm biến và chuẩn hóa dữ 
liệu đầu ra của cảm biến. Trong nghiên cứu này chúng tôi đề cập đến việc chuẩn hóa dữ 
liệu từ cảm biến gia tốc từ thiết bị gắn trên cổ bò (hình 1), giúp có thể xây dựng được 
những bộ dữ liệu chuẩn từ đó nâng cao hiệu quả, độ chính xác cho thuật toán phân loại 
hành vi của bò. Thử nghiệm phân loại hành vi của bò với bộ dữ liệu thu được sử dụng 
thuật toán cây quyết định. 
Hình 1. Thiết bị trên cổ bò. 
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san FEE, 08 - 2018 341
2. NỘI DUNG 
2.1. Hệ thu nhận dữ liệu gắn trên bò 
Hệ thống thu nhận dữ liệu gồm hai phần chính. Phần di động gắn trên bò và phần cố 
định kết nối với máy tính. Phần di động gắn trên cổ bò (hình 2a) đóng vai trò thu nhận dữ 
liệu cảm biến gia tốc 3 trục ở cổ bò đưa về vi điều khiển dsPIC33EP64MC504 [5]. Thiết 
bị trên cổ bò sẽ truyền dữ liệu không dây dùng modul Zigbee [7] về thành phần cố định 
được kết nối với máy tính (hình 2b). 
Hình 2. (a) Thành phần gắn trên cổ bò; 
 (b) Thành phần cố định kết nối với máy tính. 
2.2. Chuẩn hóa dữ liệu 
2.2.1. Căn chỉnh cảm biến 
Thu nhận dữ liệu và tiền xử lý dữ liệu là cần thiết trong các hệ đo. Các cảm biến mặc 
dù đã được căn chỉnh tại nơi sản xuất để đạt độ chính xác cao. Tuy nhiên, các cảm biến 
không hoàn hảo, nó cần được hiệu chỉnh trong hệ thống mà nó được sử dụng. Căn chỉnh là 
một phương pháp cải thiện hiệu năng của cảm biến bằng cách loại bỏ lỗi cấu trúc trong dữ 
liệu đầu ra cảm biến. Lỗi cảm biến phân làm 2 loại là lỗi tất định và lỗi ngẫu nhiên. 
Xử lý lỗi tất định chúng tôi sử dụng gia tốc trọng trường để căn chỉnh cảm biến. Giả sử 
một trục gia tốc của cảm biến quay lên trên so với mặt đất nó sẽ nhận giá trị +1g và khi 
quay xuống dưới về phía mặt đất nó sẽ nhận giá trị là –1g. Căn chỉnh cảm biến thực hiện 
bằng cách quay cảm biến tại 6 vị trí tĩnh theo bảng 1: 
Bảng 1. Căn chỉnh cảm biến. 
Trạng thái 
Giá trị gia tốc nhận được theo các trục 
Ax Ay Az 
Xb xuống +1g 0 0 
Xb lên -1g 0 0 
Yb xuống 0 +1g 0 
Yb lên 0 -1g 0 
Zb xuống 0 0 +1g 
Zb lên 0 0 -1g 
Phương pháp quay cảm biến từ +1g đến -1g giúp ta thu được giá trị 0g chính xác và tin 
cậy. Xét trường hợp trục Z, khi quay lên cảm biến cho giá trị Z1 và khi quay xuống giá trị 
là Z2. Khi đó ta có: 
    =    + (   + 1)  ;    =    − (   + 1)  (1) 
Trong đó:    là độ lệch theo trục Z,    hệ số tỉ lệ theo trục Z. Từ (1) ta có: 
(b) 
 dsPIC33EP64MC504 
Computer 
Modul Zigbee 
(a) 
 Modul 
MPU6050 
dsPIC33EP64MC504 
Modul nguồn + Pin 
Modul 
Zigbee 
342
360 d
Allan là đ
cảm biến gia tốc có thể 
sử dụng 298 
trong 1s. Xác đ
chu
hành tương t
(a)
(b)
Với 
Tương t
Lỗi ngẫu nhi
ẩn Allan theo trục X đ
P. C. P. Khanh
m
ữ liệu v
Phương sai (
ỗi vị trí của cảm biến chúng tôi thu nhận dữ liệu trong khoảng 6 phút với khoảng 
ể xác định các thông số đặc tr
à Z
ự chúng tôi tính đ
m
ự.
1, Z
ên phân tích theo phương sai Allan [9]. M
ẫu dữ liệu gia tốc đối với từng trục X, Y, Z v
ịnh hệ số lỗi theo ph
2
m
, , T. Đ. Tân
 là các giá tr
/s/√
  
đư
ư
 )
	=
ư
ợc xác định
ợc thể 
Hình 3.
(b) Đ
  
-46,8 
ợc:
, “
=
ị trung b
hi
ộ lệch chuẩn Allan với trục X
0,0142
M
  
mg
ương sai 
ện trong h
 (a) D
X
ột ph
   
 
ình. Theo ph
;  
 
 
ưng c
 bằng cá
B
ương pháp thu nh
 ; 
  =
  =
  	
ữ liệu theo trục X
ảng 2
 9,9mg
-0,9 mg;
=18,8 mg;
ủa từng 
ch phân tích trên đ
Allan trong b
ình 3a và 3b. Các tr
. Xác đ
lo
ương tr
ại nhiễu
ịnh hệ số lỗi theo ph
0,0105
 
Y 
ận  phân loại h
  =
ình (2) chúng tôi tính 
ục đích phân tích 
à m
ảng
; 
.
 
 
 
. Các thành ph
ỗi mẫu l
 2. D
ục Y v
   
  
  =
  =
ồ thị 
  −
 9,7mg
 9,8mg
ữ liệu thô v
Đo lư
1 
log
à giá tr
à Z c
ờng 
ành vi c
ần nhiễu của 
-log. Chúng tôi 
ũng đ
ương sai Allan
Z
0,0231
nhi
ị trung b
– Tin h
đư
ễu d
à đ
ược tiến 
ủa b
ợc:
ùng
ộ lệch 
ọc
ò.”
(2)
ình 
.
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san FEE, 08 - 2018 343
2.2.2. Chuẩn hóa dữ liệu 
Chuẩn hóa dải đo từ giá trị thô dùng modul MPU6050. Modul MPU6050 thiết lập để 
do giá trị 16 bit có các dải đo ±2, 4, 8, 16g. Trong nghiên cứu này chúng tôi sử dụng dải ± 
8g và dữ liệu thô được tính theo phương trình (3): 
G = (Giá	trị	đo) 	×
  
   
= 	 (Giá	trị	đo) 	× 	2    (3) 
	Xg = 	X	 × 	2   	Yg = Y	 × 	2   	Zg = 	Z	 × 	2    
Nhận biết trạng thái của bò thông qua xử lý dữ liệu dữ liệu từ cảm biến gia tốc 3 trục 
gắn ở cổ bò. Chúng tôi đề xuất chuẩn hóa dữ liệu theo từng giây. Trong 1s chúng tôi nhận 
được từ 9 đến 12 giá trị cảm biến gia tốc và giá trị sử dụng là là trị trung bình trong 1 giây. 
Việc thu dữ liệu thông qua hệ thống không dây về máy tính kết hợp với dữ liệu quan 
sát thông qua video ghi hình đồng bộ với việc thu dữ liệu. Qua quan sát video, chúng tôi 
ghi lại các hành vi của bò để làm dữ liệu chuẩn. Hình 4 là dữ liệu gia tốc ba trục thu được 
tương ứng với hành vi của bò mà chúng tôi thử nghiệm. 
Hình 4. Dữ liệu gia tốc theo ba trục X, Y, Z ứng với các hành vi của bò. 
3. THỬ NGHIỆM PHÂN LOẠI VỚI BỘ DỮ LIỆU THU ĐƯỢC 
3.1. Bộ tham số đánh giá phân loại hành vi 
Chúng tôi sử dụng thuật toán cây quyết định để phân loại hành vi của bò. Để xác định 
thuộc tính cho thuật toán cây quyết định, dữ liệu là liên tục thông thường người ta sử dụng 
“Gini-index” hoặc “information-Gain” để xác định hằng số ngưỡng. Nhưng trong bài toán 
này, chúng tôi xây dựng các tham số VeDBA dùng để xác định mức độ tiêu hao năng 
lượng của bò. Các bước của thuật toán như sau: 
- Thu thập dữ liệu gia tốc theo 3 trục X, Y, Z 
- Tính hằng số ngưỡng A cho giá trị VeDBA 
- Xét VeDBA ≥ A => “Hoạt động mức cao” và ngược lại “Hoạt động mức thấp”. 
- Khi bò đang nằm hay đứng thì chỉ thay đổi giá trị gia tốc trên trục y. Nên từ y ta tính 
ra hằng số ngưỡng B1 và B2 cho SCAY. Nếu SCAY ≤ B1 thì hành vi của bò 
 là đứng. Nếu SCAY ≥ B2 thì hành vi của bò là nằm. 
Đo lường – Tin học 
 P. C. P. Khanh, , T. Đ. Tân, “Một phương pháp thu nhận  phân loại hành vi của bò.” 344
Để tính VeDBA chúng ta cần tính DBA, trong đó DBA thể hiện năng lượng tiêu hao 
của gia súc theo một chiều. Giá trị của DBA được tính theo công thức (4): 
DBAt = Ait= |   
∗ − μ  | (4) 
Trong đó: i = x, y, z thể hiện các trục gia tốc 
 Ait là các giá trị gia tốc tĩnh 
    
∗ là các dữ liệu gia tốc động 
 μ   là các giá trị trung bình của dữ liệu gia tốc 
 μ   = 	
 
   _    
     
∗
     _    
 
     _    
 
 (5) 
Ở đây chúng tôi sử dụng mô hình cửa sổ trượt để tính toán [4]. 
Gia tốc động toàn thân ODBA được tổng hợp theo công thức (6): 
      = 	     +    +     (6) 
Véc tơ tổng hợp gia tốc chuyển động toàn thân VeDBA và ODBA là các tham số 
thường dùng để xác định mức độ tiêu hao năng lượng ở gia súc. VeDBA được đánh giá là 
tốt hơn ODBA. VeDBA được xác định theo công thức (7): 
       =    
  +   
  +   
  (7) 
SCAY được sử dụng để xác định sự thay đổi của gia tốc trọng trường y. SCAY được 
tính theo công thức (8):      ⃗ =   ∗ cos	(180 −  ) (8) 
Trong đó β là góc thể hiện sự tương đối giữa trục y với phương ngang. 
Hình 5: là dữ liệu VeDBA và SCAY thu được tương ứng với hành vi của bò mà chúng 
tôi thử nghiệm. 
Hình 5. Hai đặc trưng VeDBA và SCAY tương ứng với 4 hành vi cần quan sát. 
3.2. Thuật toán đề xuất 
Trong công trình [1], tác giả đã sử dụng cây quyết định để phân loại hành vi nằm, đứng 
và ăn. Trong nghiên cứu này chúng tôi đề xuất sử dụng thuật toán cây quyết định phân loại 
hành vi đi, đứng, nằm và ăn của bò. Lưu đồ thuật toán trình bày trong hình 6. 
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san FEE, 08 - 2018 345
3.3. Hiệu năng của hệ thống 
Trong nghiên cứu này chúng tôi sử dụng 2 tham số để đánh giá hiệu năng của hệ thống 
đó là độ nhạy và độ chính xác của thuật toán theo công thức (9) và (10). 
Độ nhạy:     =
  
     
; (9) Độ chính xác: 	    =
  
     
; (10) 
TP là trường hợp thực tế có, thuật toán phân loại thấy có hành vi 
FN là trường hợp thực tế có, thuật toán phân loại không thấy hành vi 
FP là trường hợp thực tế không có, thuật toán phân loại thấy có hành vi 
TN là trường hợp thực tế không có, thuật toán phân loại không thấy hành vi 
Thuật toán được đề xuất cần xác định các ngưỡng A, B1 và B2. Ngưỡng A dùng để 
phân loại trạng thái hoạt động cao (gồm ăn, đi) và trạng thái hoạt động thấp (đứng, nằm). 
Ngưỡng B1 dùng phân loại trạng thái đứng và B2 dùng phân loại trạng thái nằm thông qua 
SCAY. Hiệu năng của hệ thống bị ảnh hưởng rất nhiều bởi sự lựa chọn của những ngưỡng 
này. Chúng tôi xác định ngưỡng dùng phương pháp sử dụng đường cong ROC. Biểu diễn 
TPR (độ nhạy) tương ứng với FPR (tỉ lệ báo động giả) khi biến đổi các giá trị ngưỡng 
dùng công thức (11) và (12). 
     =
  
     
; (11) 
     =
  
     
; (12) 
Bắt đầu 
Thu các dữ liệu gia tốc động x, y, z 
Tính các giá trị gia tốc tĩnh Ax, Ay, Az 
Tính giá trị VeDBA và SCAY 
Sai Đúng 
Hoạt động 
mức cao 
Hoạt động 
mức thấp 
Sai Đúng 
Hành vi đứng Hành vi nằm Hành vi ăn Hành vi đi 
Sai Đúng 
 SCAY 0 
VeDBA ≥ A 
SCAY > B2 
Hình 6. Thuật toán cây quyết định. 
Đo lường – Tin học 
 P. C. P. Khanh, , T. Đ. Tân, “Một phương pháp thu nhận  phân loại hành vi của bò.” 346
Ngưỡng tốt nhất là giá trị tạo ra cặp TPR và FPR nằm ở góc trái trên cùng của đường cong 
ROC [8]. Kết quả thu được là: A =48mg, B1=-133mg và B2= -108mg. 
3.4. Hiệu quả của thuật toán cây quyết định 
Bảng 3. Kết quả thực hiện phân loại với các thuật toán. 
Hành vi Độ nhạy (%) Độ chính xác (%) Hiệu năng hệ thống(%) 
Đứng 100 76 61,8 
Nằm 100 90 96,3 
Ăn 100 94 94,4 
Đi 97 93,6 93,9 
Tổng cộng 99 88,5 86,7 
Bảng 3 cho chúng ta thấy sử dụng thuật toán cây quyết định vừa đơn giản vừa có độ 
chính xác cao trong khi phân loại. Hiệu năng của hệ thống thu được là 86,7%, cải thiện 
3,1% so với trường hợp dữ liệu chưa được căn chuẩn. Thuật toán cây quyết định phù hợp 
với khả năng xử lý của vi điều khiển. Thuật toán cây quyết định có thể sử dụng để phân 
loại hành vi gia súc trong thời gian thực. 
4. KẾT LUẬN 
Trong bài báo này chúng tôi đã thực hiện thành công trong việc cải thiện dữ liệu thu 
thập từ cảm biến gia tốc ba chiều. Chúng tôi cũng đã thành công khi sử dụng thuật toán 
cây quyết định trong việc phân loại hành vi cho gia súc. Từ hành vi của gia súc: đi, ăn, 
nằm, đứng giúp người chăn nuôi có thể giám sát trạng thái của gia súc từ đó theo dõi 
được sức khỏe và các thời ký sinh trưởng của gia súc để có biện pháp nâng cao hiệu quả 
chăn nuôi. 
Lời cảm ơn: Bài báo được hỗ trợ từ Đại học Thái Nguyên thông qua đề tài khoa học 
và công nghệ, mã số: HĐ2018–TN07-02. 
TÀI LIỆU THAM KHẢO 
[1]. Diosdado, Jorge A. Vázquez, et al. "Classification of behaviour in housed dairy cows 
using an accelerometer-based activity monitoring system." Animal Biotelemetry 3.1 
(2015): 1. 
[2]. Guo, Ying, et al. "Animal behaviour understanding using wireless sensor 
networks." Local Computer Networks, Proceedings 2006 31st IEEE Conference on. 
IEEE, 2006. 
[3]. Yoshioka, Hajime, Michie Ito, and Yasuyuki Tanimoto. "Effectiveness of a real-time 
radiotelemetric pedometer for estrus detection and insemination in Japanese Black 
cows." Journal of Reproduction and Development 56.3 (2010): 351-355. 
[4]. Thomas G. Dietterich, “Machine Learning for Sequential Data: A Review”, In T. 
Caelli (Ed.) Structural, Syntactic, and Statistical Pattern Recognition; Lecture Notes 
in Computer Science, Vol. 2396. (pp. 15-30). Springer-Verlag, 2002. 
[5]. Microchip, 16-bit DSC for Precision Motor Control, dsPIC33EP64MC504 datasheet, 
https://www.microchip.com, Access: June 10, 2018. 
[6]. Fedorov, D., Ivoilov, A., Zhmud, V., & Trubin, V. “Using of Measuring System 
MPU6050 for the Determination of the Angular Velocities and Linear 
Accelerations”. Automation & Software Enginery, 2015, No. 1(11), pp. 75–80. 
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san FEE, 08 - 2018 347
[7]. Modul Zigbee DRF1605: main function,  Access: June 10, 
2018. 
[8]. [8]Akobeng, A. K. (2007). “Understanding diagnostic tests 3: receiver operating 
characteristic curves”. Acta paediatrica, Vol. 96(5), pp. 644-647. 
[9]. Bhardwaj, R., Kumar, V., & Kumar, N. (2015, October). “Allan variance the stability 
analysis algorithm for MEMS based inertial sensors stochastic error”. In Computing 
and Communication (IEMCON), 2015 International Conference and Workshop on 
(pp. 1-5). IEEE. 
ABSTRACT 
A METHOD TO ACQUIRE AND PRE-PROCESSING 3 DOF ACCELERATION DATA 
FOR CLASSIFICATION OF COWS' BEHAVIORS 
Cattle behavior classification helps people monitor cow behaviors so that the 
health and physiological periods of cows can be monitored. To categorize the 
behavior of cows, the data from the 3-axis acceleromter mounted on their neck is 
often used. This paper proposes an effective alignment method that removes 
identifiable errors and characterizes the statistical errors of the sensor to improve 
the quality of cattle behavior classification. We retrieve data from the 3-axis 
acceleration sensor mounted on the cows’neck, through the microcontroller and the 
wireless transmission system to the server. Afterthat, accelerated data is then fed 
into a proposed decision tree model to classify the obtained behavior. Another 
contribution of this work is the development of a behavioral database of cows based 
on accelerated data (used for state prediction) and synchronization data from 
actual video observations (used for reference, quality assessment of behavior 
classification). The test results confirm the reliability of the proposed model. 
Keywords: Accelerometer; Wireless communication; Animal activity monitoring. 
Nhận bài ngày 01 tháng 7 năm 2018 
Hoàn thiện ngày 10 tháng 9 năm 2018 
Chấp nhận đăng ngày 20 tháng 9 năm 2018 
Địa chỉ: 1 Trường đại học Sư phạm Hà nội; 
2 Trường đại học Công nghệ thông tin và Truyền thông, Đại học Thái Nguyên; 
3 Học viện Kỹ thuật quân sự; 
4 Trường đại học Công nghệ, Đại học Quốc gia Hà nội. 
* Email: 
[email protected].