有人可以帮助我使用 google_mlkit_object_detection 自定义 TF Lite 模型和 Flutter:0.13.0 目前,我使用下面的代码尝试获取检测到的对象并为其分配标签......
有人能帮我使用自定义 TF Lite 模型和 Flutter 吗 google_mlkit_object_detection: 0.13.0
目前,我使用以下代码尝试获取检测到的对象并为它们分配标签:
Future<void> labelImage(File imageFile) async {
final modelPath = await getModelPath('assets/ml/model.tflite');
final InputImage inputImage = InputImage.fromFile(imageFile);
const mode = DetectionMode.single;
final options = LocalObjectDetectorOptions(
mode: mode,
modelPath: modelPath,
classifyObjects: true,
multipleObjects: true,
maximumLabelsPerObject: 39,
);
final objectDetector = ObjectDetector(options: options);
final List<DetectedObject> objects =
await objectDetector.processImage(inputImage);
}
这是我按照 Google CodeLab 使用 Model Maker 制作的代码
import tensorflow as tf
assert tf.__version__.startswith('2')
from tflite_model_maker import image_classifier
from tflite_model_maker.image_classifier import DataLoader
from tflite_model_maker.config import ExportFormat
from tflite_model_maker import model_spec
data_dir="D:\\images_group_selected"
BATCH_SIZE = 4
EPOCHS = 8
data = DataLoader.from_folder(data_dir)
train_data, rest_data = data.split(0.8)
validation_data, test_data = rest_data.split(0.5)
model = image_classifier.create(
train_data,
validation_data=validation_data,
epochs=EPOCHS,
train_whole_model=True,
batch_size=BATCH_SIZE,
model_spec=model_spec.get('mobilenet_v2'),
shuffle=True)
model.summary()
model.export(export_dir='.', export_format=ExportFormat.TFLITE)
model.export(export_dir='.', export_format=ExportFormat.LABEL)
model.evaluate_tflite('model.tflite', test_data)
在我的数据结构中,每个目录都包含属于一个类(一个标签)的所有数据
class1
-- image_class1_1.jpg
-- image_class1_2.jpg
class2
-- image_class2_1.jpg
-- image_class2_2.jpg
...
我怀疑自从我创建了一个图像分类器以来,它与 Flutter 中的 ObjectDetector 配合得并不好。我非常感谢有关此问题的任何建议。