Internship example of TensorFlow Lite object detection in Flutter. One screen shows eight targets. Tapping one opens the camera and speaks when that class is seen.
Published September 2020. The last commit, in March 2021, only renamed the project.
Plugins named in pubspec.yaml:
tflite^1.1.1camera^0.5.8+5flutter_tts^1.2.7flutter_staggered_grid_view^0.3.2
pubspec.lock is gitignored, so those are ranges, not a frozen resolution.
Reviewed again on this date. These points describe the code as it stands; they are not part of the original readme.
- Snapshot of the 2020 tree. It is not being ported to current Flutter.
- Dart constraint is
>=2.7.0 <3.0.0.flutter pub getfails on Dart 3.8 (Flutter 3.32) and on any null-safe Dart SDK..metadatarecords stable revisionb041144f. - Every tile calls
loadModel(), and that function always loadsassets/ssd_mobilenet.tflite. Tiny YOLOv2 (43 MB), MobileNet (16 MB), and PoseNet (4.8 MB) are in the repo and have code paths, but the screen never selects them. - The phone tile looks for the label
phone.assets/ssd_mobilenet.txtnames that classcell phone, so that tile never draws a box or speaks. The other seven names are in the label file. - The grid images are hotlinked from
freedesignfile.com. They are not stored in this repo. If those URLs go away, the tiles have no picture. - Speech is a one-second timer. Leaving the page does not cancel it. If a detection call fails,
isDetectingstays true and the camera stream stops feeding the model. - iOS
Info.plisthas no camera usage description. The Android application id iscom.soft4earth.tensorfirat.tensorfirat. The release build is signed with the debug key. .DS_Store,.iml, and.ideaare committed..ideacontains an old local Flutter path under/Users/meg/development/flutter. No API key or token is in the tree or the git history.- The widget test is still the Flutter counter sample. There are no GitHub issues on this repository.