Object Detection

This add-on allows users to perform object detection on image elements present on their screen and get results in the form of a sentence and bounding boxes drawn around the detected objects. Users can move their mouse pointer or finger (in case of touch screens) inside a bounding box to hear the object label. The result sentence can be either announced or it can be presented in a virtual, browseable window that allows users to access the result character-by-character, word-by-word, as a whole and even copy the result. This add-on works well only with "natural images" of people, animals and some common objects.

Note: Mouse tracking must be enabled for the bounding box label to be announced.

Usage


Building it yourself


Requirements: * Python 3 for Windows. See website for installers. * Scons - Can be installed by running pip install Scons or using a windows installer from the website. * Markdown - Can be installed by running pip install Markdown.

Once the requirements are satisfied: 1. Clone this repo 2. Open a command line and navigate to the cloned repo 3. Run the command scons in the directory containing the sconstruct file

You can then install the add-on in NVDA by double-clicking on the .nvda-addon file while NVDA is running or goto NVDA->tools->manage add-ons->Install and the selecting the .nvda-addon file.

Developer notes


This add-on makes use of the YOLOv3-darknet model for object detection. You can download the config and weights file of any YOLOv3 model and replace the existing model in addon/globalPlugins/objectDetection/models and use that instead (you must ensure that the config and weights file are named yolov3.cfg and yolov3.weights respectively, for this to work). The larger models are better at detecting objects but at a cost of time taken. In general, a medium-sized model, such as the one packaged in this add-on (YOLOv3-416) is the best choice. The model relies OpenCV 4.3.0, the required DLL's of which can be found at addon/globalPlugins/objectDetection/dlls. The YOLOv3-DLL.dll file interface with the model itself and can be found at or built from here.