Week 4

May 1 - May 5

Summary

          Over the past week, I’ve made significant strides in enhancing KeyFlare, an interactive, semantic image segmentation application. I am excited to share the results and improvements of my fourth week of development.

          Out of my numerous accomplishments this week, the most important one is that I’ve created a novel algorithm that outperforms Tesseract in terms of speed, reliability, and accuracy for this application’s use-case. Previously, I used the Google Tesseract OCR engine to identify regions of interest. Although the OCR engine is meant to only identify regions with text, I relied on its inaccuracy to identify regions of interest outside of texts. I now use a highly optimized algorithm that performs adaptive calibration of morphological operations and filtering of overlapping regions of interest to identify specific coordinates of interest. 

          In addition, I have successfully implemented an automatic way of building releases for Linux, macOS, and Windows through GitHub Actions. By streamlining the entire build process, I ensure future compatibility with all desktop environments, even ones I do not have access to.

          As a side note, this new KeyFlare has a preferences window that provides users with the ability to customize their experience. Users can now change the background color of the identifier strings, exit the application, or exit just the current process, making the tool more adaptable and user-friendly. To further aid users, the functionality of the hotkey has been changed to make a left Alt+A+Z combination click the screen once while the right Alt+A+Z combination will click the screen twice, providing more versatility to the users.

          Smaller changes include using a list instead of dictionary for data storage, improving reliability; font change for readability; removal of pytesseract, re, and PIL libraries, reducing the application's footprint; utilization of temporary files, significantly improving the overall disk space usage over the long-term.

          In summary, the fourth week of development has been incredibly productive, with numerous enhancements and new features added to KeyFlare. These improvements bring me closer to truly understanding how to build useful applications. The survey results from the beginning of this week truly informed this process.


Please try it out and fill out the survey!

Install the v0.3.3 that was released with week 4 here (if you want the latest version, use the link above named "Download KeyFlare now!")

Please fill out the survey

Previous Goal

The goal of this week is to enhance my understanding of Scikit-learn and Python, with a specific focus on implementing the bag of words algorithm and the Multinomial Naive Bayes classifier in order to remove unnecessary locations to click.