Nhận Dạng Khuôn Mặt Tensorflow

1. Sơ lược một chút về Tensorflow (TF):

Tensorflow (TF) là 1 trong những library vày Google phát triển và là một trong những thư viện mã nguồn mở được dùng để giám sát số học sử dụng đồ thị luồng dữ liệu trong số ấy các node là các phép giám sát học còn các cạnh biểu thị luồng dữ liệu.

Bạn đang xem: Nhận dạng khuôn mặt tensorflow


*

Các ích lợi mà thư viện này có lại:

Tích hợp nhiều thư viện Machine Learning.Có tài năng tương ưng ý và không ngừng mở rộng tốt.Nhận biết phát âm và dịch trường đoản cú động.Phân loại thư điện tử của Gmail.Nhận biết khuôn khía cạnh trong ảnh.

Đặc trưng của TensorFlow là xử lý được tất cả các loại dữ liệu hoàn toàn có thể biểu diễn bên dưới dạng data flow graph hay low cấp độ như cách xử trí chữ viết tay.

Các chúng ta có thể tham khảo link bên dưới để hiểu rõ hơn về TF nha:

https://techblog.vn/ai-conversation-2

2. Đem TF vào trong tiện ích Flutter:

2.1 Thêm data vào model của TF:

Bạn có thể vào trang https://teachablemachine.withgoogle.com/train nhằm thêm data của bản thân mình vào.


*

Chọn tạo thành Image Project.


*

Để có thể lấy được data mình cài đặt từ trang này về : https://www.kaggle.com/tongpython/cat-and-dog/data , kế tiếp upload vào model ở bên trên với từng một số loại mà bạn tùy chỉnh cấu hình và nhấp vào Train mã sản phẩm để máy thực hiện học.


Sau đó thực hiện Export model và download về máy.

Xem thêm: Tuổi Đinh Mão Sinh Năm 1987 Hợp Màu Gì ? Tuổi Đinh Mão


Giải nén ta được 2 tệp tin trên cùng tiến hành địa chỉ vào assets của Flutter project .

2.2 Code UI Detech Animal:

Vào trong build.gradle của android thêm vào 2 dòng mặt dưới.


Nó sẽ loại bỏ việc nén những file mang tên là tflite cùng lite.


Thêm vào 2 thư viện image_picker cùng tflite vào thư mục pupspec.yaml

Tiến hành coding như thế nào . Trong tệp tin main.dart viết function để đưa models nhưng ta sẽ train lúc nãy vào Tflite.loadModel() để lưu model.

// Data được load vào mã sản phẩm của TF. LoadModel() async await Tflite.loadModel( model: "assets/model_unquant.tflite", labels: "assets/labels.txt"); Tiếp theo ta thêm một function nhằm lấy ảnh từ năng lượng điện thoại.

// lấy image trường đoản cú máy. ChooseImage() async var image = await ImagePicker.pickImage(source: ImageSource.gallery); if(image == null) return null; setState(() _isLodaing = true; _image = image; ); runModelonImage(image); //Đưa hình ảnh vào vào TFlite phân tích với model đã train. RunModelonImage(File image) async var output = await Tflite.runModelOnImage( path: image.path, numResults: 2, imageMean: 127.5, imageStd: 127.5, threshold: 0.5 ); setState(() _isLodaing = false; _outputs = output; ); Thêm phần hiển thị hình ảnh và Button lấy hình ảnh từ máy.

class _HomePageState extends State { bool _isLodaing = false; file _image; các mục _outputs;
override void initState() // TODO: implement initState super.initState(); _isLodaing = true; loadModel().then((value) setState(() _isLodaing = false; ); );
override Widget build(BuildContext context) return Scaffold( appBar: AppBar( title: Text("Detech Animals"), ), body: _isLodaing ? Container( alignment: Alignment.center, child: CircularProgressIndicator(), ) : Container( width: MediaQuery.of(context).size.width, child: Column( crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center, children: < _image == null ? Container() : Image.file(_image), SizedBox(height: 20,), _outputs != null ? Text( "$_outputs<0><"label">", // Hiển thị công dụng test với một là Dog cùng 0 là Cat. Style: TextStyle( color: Colors.black, fontSize: 20.0, background: Paint()..color = Colors.white, ), ) : Container() >, ), ), floatingActionButton: FloatingActionButton( onPressed: () chooseImage(); , child: Icon(Icons.image), ), );

2.3 demo thử nào:

Chọn hình ảnh con mèo thì sẽ thông tin là 0 Cat.

Leave a Reply

Your email address will not be published. Required fields are marked *