So it is official — GSoC 2019 started and I was accepted to CCExtractor Development with the best project I could ever dream of — open-source version of Amazon Rekognition!
Every Sunday I will blog about the progress I’ve made during the week along with my plans for the next week. This will allow other guys to follow my project and also it is a very good practice of my technical English writing skills. After all, given my experience in GSoC 2016, it will simply feel great some time after the project to read and experience this wonderful journey again 🙂
As it was mentioned above — I was fortunate to be accepted to GSoC 2019 and within this summer along with other guys at CCExtractror Development I will be trying to make this world a little bit more open!
Amazon Rekognition is a proprietary service that allows its customers to do video and image analysis. It is based on deep learning and computer vision techniques that empower its users to do a wide variety of tasks ranging from face recognition to text detection. By now you might already be asking — hey Artem, what is wrong with this thing, given that it is being developed and supported by one of the strongest players in the field of AI? The answer is simple — it is non-open-source!
Open-source alternative of Amazon Rekognition is not simply a geeky toy — the problem of AI democratization is a very serious one. This March a group of prominent AI researchers stated that Amazon should “…stop selling Rekognition to law enforcement” mainly because Amazon’s approach is not transparent and there is a bias towards some of the minorities. This shows that an open and transparent solution for video analysis can boost the democratization of the whole industry.
About the Project
A quick glimpse into the project is available in my previous post. Poor Man’s Rekognition (working title) is a platform that will empower its user to do various kinds of video/image/audio analysis. The ultimate goal (that goes way beyond the scope of GSoC) is to build Swiss Army Knife for solving these problems.
One of the inspirations for this project is WebLicht — a joint initiative of German institutions that was meant to make NLP (Natural Language Processing) for various languages easier. A user defines everything he or she needs e.g. stemmers, vectorizers, language models. After that, the system does everything what user prescribed it to do. I am sure that such kind of systems will open the field of Machine Learning for a lot of people.
Also, recently I came across Machine Learning Studio — a new service by Microsoft that is meant to ease the process of cleaning data and training models. The interface of this platform should make every step of ML process easier and I would like to implement some of the design ideas from this platform in PMR.
If you became interested in this project you can read about it in more details in my GSoC proposal. I would also love to answer all the questions you have about this project!
Tasks for this week
As this week almost comes to the end I won’t plan a lot of things. Some of the issues that I want to tackle in the remaining time of this week I have identified already in PoC and I think it is a good start of work:
- Memory optimization — the frame data is taking a lot of the space and needs optimization
- Add GPU version of YOLOv3 — Though YOLOv3 is available as a State-of-the-Art algorithm, only CPU version is available
- Create a list of issues to discuss — In my GSoC proposal I stated that I will use Community Bonding Period time to discuss various parts of the project with community and my mentor. By the end of the week I will create a list of things that I think are worth discussing.
Thanks for reading, stay tuned and don’t forget to check my blog on Sunday! The journey begins here!
Originally published at http://fedoskin.org on May 9, 2019.