TL;DR In this blog post, I will be sharing the details of the project, the tasks which I have completed as a part of Google Summer of Code 2016, along with the patches and issue details.
Here is the link to the log: http://cgit.drupalcode.org/google_vision/log/?qt=grep&q=ajalan065&showmsg=1
Let me now share what my project is based on, and what were the tasks I had proposed to complete.
Google Cloud Vision API bring to picture the automated content analysis of the images. The API can not only detect objects ranging from animals to famous monuments, but also detects faces on emotions. In addition, the API can also help censor images, extract text from images, detect logos and landmarks, and even the attributes of the image itself, for instance the dominant color in the image.
All the features which I had proposed to implement are listed below:
- Integrate the Label Detection feature with the image field.
- Integrate the Landmark Detection with the image field.
- Integrate the Logo Detection with the image field.
- Integrate the Explicit Content Detection with the image field.
- Integrate the Optical Character Recognition with the image field.
- Integrate the Face Detection with the image field.
- Integrate the Image Attributes with the image field.
On discussion with my mentors, we had decided the following use cases to implement the above proposed features. We had put to use these features in the following way:
- Use the Label, Landmark, Logo and Optical Character Detection to fill the Alternate Text field of the image files uploaded by the user.
- Use the Explicit Content Detection feature to identify and detect any explicit or violent content present in the images, and prevent the uploading of such content.
- Use the Face Detection feature to detect the emotions of the users in their profile pictures, and notify the users if they seem to be unhappy.
- Use the Image Attributes feature to detect the dominant color in the image, and group the images files on its basis.
In addition to these implementations, I worked on developing tests to test the functionality of the module, implementing the important concepts of Drupal 8, such as, use of services and containers and use of abstract parent classes for the tests.
I made the contributions to Drupal in the form of a module under the name Google Vision API.
All the contributions were made under the guidance and surveillance of my mentors, Naveen Valecha, Christian López Espínola and Eugene Ilyin and have been committed to the module only when they permitted.
And here is the link to my Drupal.org profile: https://www.drupal.org/u/ajalan065.
In order to share the weekly details of the project with the Drupal community, I maintained blog posts on Drupal Planet, where I shared my work experiences, the tasks which I have accomplished, the issues or the problems I faced along with the solutions. Please click here to read all the blog posts.
This is the complete picture of my codes and contributions during the Google Summer of Code period (May 23, 2016- August 23, 2016).