A Convolutional Neural Network (CNN) Application for Identifying E-Waste in A Small Island Developing Country (Trinidad and Tobago)

Download Full-Text PDF Cite this Publication

Text Only Version

A Convolutional Neural Network (CNN) Application for Identifying E-Waste in A Small Island Developing Country (Trinidad and Tobago)

Koffka Khan

Department of Computing and Information Technology The University of the West Indies,

Trinidad and Tobago, W.I

Adrian Santo

Department of Computing and Information Technology The University of the West Indies,

Trinidad and Tobago, W.I

Mohit Ramdass

Department of Computing and Information Technology The University of the West Indies,

Trinidad and Tobago, W.I

Raphael Superville

Department of Computing and Information Technology The University of the West Indies,

Trinidad and Tobago, W.I

Abstract An was built to assist the non-profit organization Restore a Sense of I Can (RSC) with their Reduction of Indiscriminate Dumping of E-waste (R.I.D.E) project. RSCs project involved the collection, refurbishment and recycling of E-waste through technology clubs in secondary schools. So, the eMargin8 application was developed to automate some of the physical processes present in their project. Requirements gathering was done for the application though constant communication with members of RSC. With the requirements, it was decided the project solution would be a web based application. This application was created using technologies such as NodeJs and ReactJs for development. The E-waste reporting utilized Machine Learning and Geo Location tagging to create a unique experience within Trinidad and Tobago. Besides this, the E-waste tracking was done utilizing various user roles including donors, beneficiaries, club members and admins. Each user role accomplished various tasks in the process of tracking E-waste collection, refurbishment and donation. The application was tested by various members of RSC though due to various circumstances no testing could have been done with the RSC clubs in schools. This testing ensures that the application was user friendly and functional. Though some improvements were determined with testing, due to time constraints, it was agreed that these improvements would be made later. Finally, the future of the application is discussed including plans to add various user groups, and improve various features. (Abstract)

Keywords E-waste; Geo Location; Machine Learning; RSC; RIDE, Web, Application

  1. INTRODUCTION

    Most people do not know what to do with their e-Waste so a lot of it ends up in landfills and rivers. This is made worse by the fact that e-Waste has Persistent Organic Pollutants (POP's) which is much worse for the environment than just plastic [8]. One of our project group members, volunteers with an NGO, called RSC(Restore a Sense of I Can) located in Trinidad that has created a system by which people can donate their e-Waste to them (for disposal, refurbishment and reuse) through clubs in certain schools.

    Currently, the system works on a word of mouth basis, whereby the club members communicate with the public through any RSC through any means such as by phone or WhatsApp. Also, no formal continuous tracking of the equipment is done, just general data is gathered whenever a system is collected or donated. Our project would be centered on developing a cloud-based web application to assist RSC with this eWaste collection system. Also, this application aims to implement an API (application programming interface) which uses machine learning to identify and categorize the different types of e-waste from pictures taken and submitted.

    Cloud computing tools featured in the project allows for the final product to be, in its entirety, hosted over the internet using tools such as Microsoft Azure, GitHub and Heroku [2]. Quoting the beginners guide given on one of the resources sites (Azure.com), Simply put, cloud computing is the delivery of computing services, including servers, storage, databases, networking, software, analytics, and intelligence, over a network such as the Internet (the cloud) [6]. This is done to offer faster innovation, flexible resources, and economies of scale. So, you typically pay only for cloud services you use, helping lower your operating costs, run your infrastructure more efficiently and scale as your business needs change. For this project in particular, we will be dealing only with Public Clouds. Public clouds are owned and operated by a third-party cloud service providers, who virtualize and deliver their computing resources like servers and storage over the Internet. Microsoft Azure is an example of a public cloud [20]. With a public cloud, all hardware, software and other supporting infrastructure is owned and managed by the cloud provider and these services are usually accessed and managed using a web browser.

    The final product of this project is a web application aimed at assisting RSC with their e-waste cleanup initiative. Referring to [15], A web application is a computer program that utilizes web browsers and web technology to perform tasks over the Internet. Web applications use a combination of serverside scripts (PHP and ASP) to handle the storage and

    retrieval of the information, and client-side scripts (JavaScript and HTML) to present information to users. Examples of web applications include Google Apps such as Google Docs, Slides, Spreadsheet, etc. Once again referring to [15], web applications are used because, Web applications run on multiple platforms regardless of OS or device as long as the browser is compatible. Also, They are not installed on the hard drive, thus eliminating space limitations. Furthermore, They reduce costs for both the business and end user as there is less support and maintenance required by the business and lower requirements for the end users computer.

    Machine learning tools featured in systems development as enabled the identification and classification of e-waste from pictures taken and submitted. Referring to [7], Machine learning algorithms work with data. They create associations, find out patterns, discover patterns, generate new samples, and more. With respect to the initial setup of a machine learning algorithm or system, [1] points to their need for sample data, known as training data, to establish mathematical models that they in turn use to make predications, decisions or classifications. Furthermore, image classification is a supervised learning problem, meaning that developers need to define a set of target classes and train a model to recognize them using labelled example photos [11]. Apart from its use in the project, [5] points to the abundant presence of machine learning in various application areas such as the analysis of credit applications and fraud detection in finance banks; optimization, control and troubleshooting within the manufacturing industry; and the analysis of call patterns for network optimization in telecommunications.

    ORMs provide a high-level abstraction upon a relational database that allows a developer to write Python code instead of SQL to create, read, update and delete data and schemas in their database. Developers can use the programming language they are comfortable with to work with a database instead of writing SQL statements or stored procedures. [10]

    The Implementation of the project can be broken down into the following parts: (1) The implementation of an overall Cloud foundation for the project. (2) The main Web based solution for the tracking and reporting of e-waste. (3) A Machine Learning implementation to help record and categorize the types of e-waste found. Our project aims to deliver an easy to use application that effectively assists the members of RSC and he general public in making a positive impact on the e-waste problem in the Caribbean. Furthermore, incorporating a centralized system/portal whereby all users in the RSC hierarchy can communicate important information, record activity and club information, make various types of requests, access authorized information and engage in approval and creation of system entities.

    This paper consists of seven Sections. In Section II we present requirements analysis of the E-waste product by giving an overview, functional and non-functional requirements and use cases. In Section III we give a brief introduction to CNN describing how it works. In Section IV we give the methodology of the project. Section V portrays the User Interface Design while Section VI describes the testing of the product. Section VII gives the results. Finally, in Section VIII the conclusion is given.

  2. REQURIEMENTS ANALYSIS

    1. Product Overview

      The eMargin8 E-waste application is a web based application built to assist the organization RSC with by allowing reporting and tracking of E-waste. That is, the application provides a means for general users to report e- waste to the organization RSC. Then, it provides a means for the RSC members to track these reports as well as track E- waste donations.

      The eMargin8 E-waste application developed will be initially released freely for use within Trinidad and Tobago. It is a web based system implementing a client-server model.

      The following are the main features that are included in the Margin8 E-waste application:

      • Cross platform support: Offers operating support for most of the known and commercial operating systems since the application should run on any web browser.

      • User account: The system allows the user to create their accounts in the system depending on their reasons for using said application

      • Number of users being supported by the system: Though the number is precisely not mentioned but the system is able to support a large number of online users at a time.

      • E-waste Reporting: Any user can make a report of E- waste either owned or sighted.

      • E-waste tracking: RSC users such as admins and club members can track or vies reports on the reporting and donation of E-waste.

    2. Functional and Non-Functional Requirements

      Functional Requirements:

      What would the application do (Aims to digitize the processes of)?

      • Allow persons to post their e-Waste for collection

      • Detect and classify e-waste in pictures posted by the public and club members.

      • Allow persons to take pictures of e-Waste they see and post it with its Geo-location.

      • Notify school clubs about the e-Waste posted

      • Notify RSC about the e-Waste collected by clubs

      • Track the recycling process of e-Waste (If it was refurbished and donated or recycled)

      • To enable the effective delivery of donated equipment to beneficiaries.

      • Provide educational videos making people aware of the dangers of e-Waste.

        Non-Functional Requirements:

      • Provision of a highly scalable, fluid, and responsive application with a usable interface and satisfying user experience.

      • A solution that is compatible with all browser platforms.

      • Utilization of machine learning techniques to identify pictures of e-waste accurately.

      • A system that is protected against various attacks particularly, Cross Site Scripting and SQL injection attacks.

      • Scalability- the system should be able to handle 10000 users accessing the site at the same time

      • Capacity- to be able to have all old, current, and new users enlisted unto the system

      • Availability- information is restricted to each users limited access

      • Response time- should reduce the delay in information when hundreds of requests are given.

      • Security- The system should automatically be able to authenticate all users with their unique username and password

      • Usability: System design should be easily understood and user friendly to users. Furthermore, users of all skill levels of users should be able to navigate it without problems.

      • Validation of accounts should not exceed 10 seconds.

      • Downtime of the system should not exceed 60 minutes.

      • Once the user interacts with the system, they MUST receive a response from the system in under 15 seconds.

      • System should be cross-platform on all devices

      • Confirmation checks, screen prompts and alerts are presented in under 10 seconds

      • System information should be consistent and up to date

    3. Use Case

      As seen on Figure 1, there are currently 5 main user groups:

      1. The Admin: This user is responsible for the approval for basically any other transaction done by other users.

      2. Club Members: Club members belong to certain clubs and Club Admins are able to approve requests from club members.

      3. Donors: Donors can be either individuals or companies. They are able to make donation requests listing the E- waste they have for donation. The admins can then mark if the waste is accepted and/or collected.

      4. Beneficiaries: Beneficiaries can be either individuals or companies. They are able to request refurbished units. The admins can then mark if the request is accepted and/or delivered.

      5. General User: All users are capable of reporting sighted or collected E-waste for collection. Admins or Club members can mark this E-waste as collected when it is.

  3. CONVOLUTIONAL NEURAL NETWORKS

    A convolutional neural network also known as a CNN or comp net is an artificial neural network that is so far been most popularly used for analyzing images [3]. Although image analysis has been the most widespread use of CNN's they can also be used for other data analysis or classification problems as well. Most generally we can think of a CNN as an artificial neural network that has some type of specialization for being able to pick out or detect patterns and make sense of them. This pattern detection is what makes CNN so useful for image analysis.

    Fig. 1. Use Case Diagram of E-waste project

    So if a CNN is just some form of an artificial neural network what differentiates it from just a standard multi-layer perceptron or MLP? A CNN has hidden layers called convolutional layers (see Figure 2) and these layers are precisely what makes a CNN. A CNN usually do have other non convolutional layers as well, but the basis of a CNN is the convolutional layers.

    Fig. 2. Convolutional Network: Layers and Learning [24]

    What do these convolutional layers do? Just like any other layer a convolutional layer receives input then transforms the input in some way and then outputs the transform input to the next layer. With a convolutional layer this transformation is a convolution operation. Let's look at a high-level idea of what convolutional layers are doing. As mentioned earlier convolutional neural networks are able to teach patterns and images more precisely. The convolutional layers are able to detect patterns a little more precisely than each convolutional layer. We need to specify the number of filters. These filters are actually what detects the pattern.

    When going through a single image there are multiple edges shapes and textures objects. This is one type of pattern that a filter could detect. A patter could be edges. So this filter would be called an edge detector for example. Some filters may detect corners, some may detect circles other squares etc These simple kinds of geometric filters are what we'd see at the start of our network. The deeper our network goes

    the more sophisticated these filters become. In later layers rather than edges in simple shapes our filters may be able to detec specific objects like eyes, ears, hair or fur, feathers, scales and even beaks. In even deeper layers the filters are able to take even more sophisticated objects like full dogs, cats lizards and birds.

    To understand what's actually happening here with these convolutional layers and their respective filters let's look at an example. We have a convolutional neural network that's accepting images of handwritten digits (see Figure 3) and our network is classifying them into their respective categories of whether the images are 1, 2, 3 etc Let's now assume that the first hidden layer in our model is a convolutional layer. When adding a convolutional layer to a model we also have to specify how many filters we want the layer to have. A filter can technically just be thought of as a relatively small matrix for which we decide the number of rows and number of columns. The values within the matrix are initialized with random numbers. This first convolutional layer in this example specify that we want the layer to contain one filter of size 3 by 3. When this convolutional layer receives input the filter will slide over each 3×3 set of pixels from the input itself until it slid over every 3×3 block of pixels from the entire image. This sliding is actually referred to as convolving. Thus, the filter is going to convolve across each 3×3 block of pixels from the input.

    Fig. 3. Handwritten Khmer digits [19]

    So far we've specified this layer to only have one filter and this filter is going to convolve across each 3×3 block of pixels from the input. When the filter first lands on the first 3×3 block of pixels the dot product of the filter itself with the 3×3 block of pixels from the input will be computed and stored. This will occur for each 3×3 set of pixels that the filter convulse. We take the dot product of the filter here with this first 3×3 block and then we'd store it. Then we slide to the next 3×3 block take the dot product and then store the value. If we look at the formula for each of these cells we can see that it is indeed the dot product of the filter with each 3×3 section of pixels from the input. After this filter has convolve the entire input will be left with a new representation of our input which is going to be made up of the entire matrix of those store dot products we got from the filter this matrix of dot products. This is going to be the output of this layer. If we create more filters the output will then be passed to the next layer as input and the same process is repeated.

  4. METHODOLOGY

    Architectural design encompasses the application type and architectural style or pattern. This project solution falls under the umbrella of web-based information systems as the web browser provides access to user interfaces. Furthermore, it processes users requests to query information from a database and users request to post information.

    The characteristics of performance, security and modularity measured the appropriateness of a system architecture. Performance looks at localising critical operations, security addresses authentication and authorisation to access critical information and modularity ensures the separation of the system into interdependent modules. The architectural style assists in defining interactions between software components and between system components/subsystems. The architectural patterns under consideration are the Layered pattern and the Model-View Controller pattern [9].

    For the project solution, the need to support the presentation of the database information in multiple views and the ability to separate the presentation and interactions from the system data prompted the selection of the Model-View- Component pattern as the architectural style. Figure 4 provides an illustration of the system architecture applied to the projects domain.

    Fig. 4. System Architecture of E-waste project

    Given the web-based nature of the system, all users will need to utilise a web browser to view the user interface that displays various web pages and captures input via forms. Based on users actions, the Controller component is responsible for managing the state of View component and the sending and handling of the HTTP (Hypertext Transfer Protocol) requests and responses respectively, which include the application-specific logic and data validation. Finally, the Model component consists of the systems database and the Object-Relational Mapper (ORM) [18], which is the Application Programming Interface (API) [21] used to communicate with the database.

    The Layered architectural pattern was an alternative option for the projects architectural design as it organises the system into a set of layers, each of which provides a service. If done appropriately, lower layers (core services) can utilise different higher layers and changes within a layer will not affect other layers. Figure 5 provides an illustration of the system architecture applied to the projects domain.

    Fig. 5. Applied Architecture on Domain of E-waste project

    The system interface is the shared boundaries where two or more components of a system exchange information to achieve its purpose [14]. This is also involves surfacing various dependencies and APIs that exists within the system. Figure 6 presents a high-level depiction of the shared boundaries and interfaces that exist in the project solution.

    Fig. 6. Boundaries and Interfaces of E-waste project

    There exists the Client, Application and Database tiers of the system. Clients who access the systems website via a web browser interfaces with the front-end framework. The frontend library is then in constant interaction with the web application server, which in turn interfaces with the systems persistent storage.

    The back-end components of a web or mobile application are covered in this scenario. The following is how the data goes through the scenario. Azure Functions are used to create the API layer [17]. The application may use these APIs to upload photos and obtain information from the database, see Figure 7. A picture is saved in Blob storage when it is uploaded via an API request. When you add new files to your Blob storage, an Event Grid notification is sent to an Azure Function. Azure Functions gives the Computer Vision API a URL to the newly submitted file for analysis. When the data from the Computer Vision API is received, Azure Functions creates a database record to save the analysis results as well as the picture information.

    Fig. 7. Azures Compute Vision API

    Our solution builds an image classification system using a convolutional neural network (CNN) with 50 hidden layers, pretrained on 350,000 images. to generate visual features of the images by removing the last network layer. These features are then used to train a boosted decision tree to classify the image as "pass" or "fail" and final scoring is conducted.

  5. USER INTERFACE DESIGN

    The user interface [23] for the eMargin8 application was designed with the following goals in mind:

    • Usability:

      The design of the interface implemented focused upon creating an environment that provides user friendly features and functions as well as a simple but reliable navigation system. This was achieved by formatting the web application like a simple website. This is seen especially well on the home page, as while it does provide a basic overview of the application, it also acts as an easy starting point for new users by providing links to common features as seen in Figure 8.

      Fig. 8. Links from Homepage to Common features

    • Learnability:

    The interface was designed in a way that once you learnt to achieve one task, you could achieve them all. Then is seen especially well by the similarities between the various forms for donations, request and reports for E-waste as well as the design and formatting for the user dashboards. The similarities are seen in Figures 9 and 10.

    Fig. 9. Admin Dashboard: Authenticate Clu member and View E-waste

    Reports

    Fig. 10. Donor: Registration and Make donation screens

    The application was designed to support clubs in secondary schools and so a portion of the user base would be constantly changing. This change would occur as the students graduate. Therefore, an easy to use and easy to learn interface was required to facilitate this constant flux of users.

  6. TESTING

    For the application, two main types of testing would be done.

    1. Usability Testing:

      For this testing various tasks were determined for the various users [4]. A few testers would then use the application to accomplish said tasks. This procedure would also follow a talk aloud analysis, whereby the testers would voice their insights and concerns with the application. Finally, after the test, the testers would be interviewed and asked to quantitatively rate how challenging the tasks were and qualitatively describe what can be done to improve the ease of the tasks.

      From these tests the following data would be gathered: Quantitative Data:

      • Time taken to achieve the task.

      • Errors made while achieving the task.

      • Tasks challenge rating from testers Qualitative Data:

      • Data from Talk Aloud Recordings (Insights, concerns, etc.)

      • Improvements given by Testers.

    2. Functionality Testing:

    For this testing various features of the application would be tested to ensure that they operate appropriately according to the functional and non-functional requirements listed.

    For this testing, the following features would be tested:

    • E-Waste Reporting by General Users.

    • Sign up and Login as all User Types including a Club member join request.

    • Creating and Requesting Donations as a Donor and Beneficiary respectively. – Approval of all types of requests as Admin user.

      Most communication and testing will be conducted over the internet. For the tests, a screen share application will be used to view what the user is doing, and a communications application such as Zoom or Discord [13] will be used to communicate with the participant. Each participant/user will fill out a survey consisting of closed ended questions based on their usage of the application. From this activity, other quantitative information based on the application will be recorded and analyzed. Using the quantitative data collected through the usability study and the survey, the hypothesis will be tested. That is, the test would be successful if the application is as easily used by both user groups. Also, a report based on the qualitative information collected will be done to back up the quantitative findings.

      All users will try all features of the application listed in the test plan. The test would be successful if all features work as intended according to the requirements listed. The features tested would be displayed in a verification matrix. When testing the functionality of the Machine Learning Classification, each user would submit one picture for each device type and the classifier accuracy would be recorded.

  7. RESULTS

    From the time taken data collected for each task we see that the tasks done using the Beneficiary and Club Member user roles took longer to achieve than most others. As seen in Figure 11 these tasks take on average about one minute more to achieve than tasks for other roles. This data along with the fact that errors were made achieving these tasks and the fact that the usability rating of these tasks averages below all others, serves to represent that perhaps improvements can be done to improve the usability in these areas.

    As stated by one user, there is no indication that someone can sign up as a club member or beneficiary. It should be added to the navigation bar or homepage as the donor is. So, this usability problem may be mended if links or perhaps even pages promoting the Sign up option for beneficiaries and club members are added to the application.

    When comparing the data between the user groups of those above 25 years of age and those 25 years old or less we determine that the application be more user friendly to the latter group. This is seen in Figure 12 since generally, those above 25 years old make slightly more errors when accomplishing the tasks. Furthermore, as seen in Figure 13, users above 25 years of age on average rated the applications usability less than those 25 years or younger. However, this data was taken from a small sample and may therefore be inaccurate. Even so, with our limited data for now we conclude that the eMargin8 application is easy to use and its usability is biased based on the users age.

    Fig. 11. Average time taken to complete the given tasks in minutes

    Fig. 12. Average errors made by differing age groups

    Fig. 13. Average task usability rating by differing age groups

    From the Verification Matrices (see Table I; all not shown for brevity), with one exception, the application functions all seem to be working properly. The faulty function is the View events feature. One user reported that when viewing events, donations were seen instead. After further testing by the developers it was determined that this occurs only occasionally though currently, why it occurs is unknown.

    TABLE I. VERIFICATION MATRIX: USER 2: 25 YEARS OR

    YOUNGER

    User Group

    Feature

    Test Passed

    Test Failed

    Comments

    General User

    Make an E-waste Report

    Yes

    Donor

    Sign Up/Login as an Individual and Company donor

    Yes

    Offer a donation as an individual and company

    Yes

    Beneficiary

    Sign Up/Login as a beneficiary

    Yes

    Request a donation.

    Yes

    Club Member

    Sign Up as a Club member for a certain club around the country.

    Yes

    View a Club Event

    Yes

    Admin

    Approve the signup for a donor and beneficiary.

    Yes

    Approve a donation and request of Ewaste.

    Yes

    Mark an E-waste report as Collected.

    Yes

    Approve to accept a club member into a club.

    Yes

    Create a Club event.

    Yes

    Besides this, the machine learning algorithm was proven to be accurate since it correctly predicted the device uploaded with accuracies ranging from 98% to 100%, see Figure 14.

    Fig. 14. Machine Learning average classification accuracy for various

    device types

  8. CONCLUSION

Our project seeks to upgrade a current system utilized by RSC through the creation of an application that should greatly improve the efficiency of said system by automating most of its processes. One major aspect of our project that achieves this is our implementation of machine learning and geolocation tagging techniques used to identify e-waste across Trinidad and Tobago. They say a picture speaks one thousand words. However, these words, are naught but raw data. Using the aforementioned techniques, our application would provide not only the raw data of the photo, but also useful information captured with the photo including its contents and location. That is, using our application, random pictures of e- waste taken around the country can be sent to RSC. When taking these pictures, using the devices location settings, an accurate geo-location of said e-waste may be included. Furthermoe, when the image is sent, with the use of machine learning techniques, the contents of the photo is displayed is the e-waste report. So, after research, we believe that this application of machine learning and geo-tagging techniques in Trinidad and even the Caribbean for these purposes make our project unique or novel.

Some necessary features not yet implemented including the additional user roles and E-waste report. Furthermore, there were some improvements to be made, discovered through testing. So, the first update to the project in the future would be the implementation of these features and improvements. Besides this however, further in the future we plan on making the following changes and adding the following features:

  • Addition of page with educative content about the risks of E-waste dumping.

  • Making the gallery interactive with posts and perhaps a forum.

  • The addition of a need help chat box for easy communication with a member of RSC.

RSC is an organization with clubs around the Caribbean. So the natural progression of the application would be to expand it so that it may encompass all countries with RSC Technology Clubs. To do this, firstly, the hosting of the application would have to be improved. This could be done by using a paid version of the current Heroku hosting or by transferring to a new host. In addition, swarm intelligence

solutions [16] and [22] can be adapted and used to see how well they perform against the CNN solution.

REFERENCES

  1. Aggarwal, C.C., 2015. Data classification. In Data Mining (pp. 285- 344). Springer, Cham.

  2. Alam, M.I., Pandey, M. and Rautaray, S.S., 2015. A comprehensive survey on cloud computing. International Journal of Information Technology and Computer Science (IJITCS), 7(2), p.68.

  3. Albawi, S., Mohammed, T.A. and Al-Zawi, S., 2017, August. Understanding of a convolutional neural network. In 2017 International Conference on Engineering and Technology (ICET) (pp. 1-6). Ieee.

  4. Alhadreti, O., 2021. A Comparison of Synchronous and Asynchronous Remote Usability Testing Methods. International Journal of Human Computer Interaction, pp.1-9.‌

  5. Alpaydin, E., 2020. Introduction to machine learning. MIT press.

  6. Balachandran, B.M. and Prasad, S., 2017. Challenges and benefits of deploying big data analytics in the cloud for business intelligence. Procedia Computer Science, 112, pp.1112-1122.

  7. Bonaccorso, G., 2018. Machine Learning Algorithms: Popular algorithms for data science and machine learning. Packt Publishing Ltd.

  8. Breivik, K., Armitage, J.M., Wania, F., Sweetman, A.J. and Jones, K.C., 2016. Tracking the global distribution of persistent organic pollutants accounting for e-waste exports to developing regions. Environmental science & technology, 50(2), pp.798-805.‌

  9. Bucanek, J., 2009. Model-view-controller pattern. Learn Objective-C for Java Developers, pp.353-402.

  10. Copeland, R., 2013. MongoDB Applied Design Patterns: Practical Use Cases with the Leading NoSQL Database. " O'Reilly Media, Inc.".

  11. Crawford, K. and Paglen, T., 2021. Excavating AI: The politics of images in machine learning training sets. AI & SOCIETY, pp.1-12.

  12. Del Sole, A., 2017. Microsoft computer vision APIs distilled: Getting started with cognitive services. Apress.

  13. Dittrich, J. and Maltry, M., 2021. Database (Lecture) Streams on the Cloud. Datenbank-Spektrum, 21(1), pp.11-18.‌

  14. Gawer, A., 2021. Digital platforms boundaries: The interplay of firm scope, platform sides, and digital interfaces. Long Range Planning, 54(5), p.102045.

  15. Gibb, G., Nash, R., Brown, N. and Prodan, B., 2019, November. The technologies required for fusing hpc and real-time data to support urgent computing. In 2019 IEEE/ACM HPC for Urgent Decision Making (UrgentHPC) (pp. 24-34). IEEE.

  16. Khan, K. and Sahai, A., 2011. A Levy-flight neuro-biosonar algorithm for improving the design of ecommerce systems. Journal of Artificial Intelligence, 4(4), pp.220-232.

  17. Kurniawan, A. and Lau, W., 2019. Azure Functions Programming. In Practical Azure Functions (pp. 23-49). Apress, Berkeley, CA.

  18. Linskey, P.C. and Prud'hommeaux, M., 2007, June. An in-depth look at the architecture of an object/relational mapper. In Proceedings of the 2007 ACM SIGMOD international conference on Management of data (pp. 889-894).‌

  19. Meng, H. and Morariu, D., 2014, December. Khmer character recognition using artificial neural network. In Signal and Information Processing Association Annual Summit and Conference (APSIPA), 2014 Asia-Pacific (pp. 1-8). IEEE.

  20. Nordal, A., Kvalnes, Ã…., Hurley, J. and Johansen, D., 2011, July. Balava: Federating private and public clouds. In 2011 IEEE World Congress on Services (pp. 569-577). IEEE.

  21. Ong, S.P., Cholia, S., Jain, A., Brafman, M., Gunter, D., Ceder, G. and Persson, K.A., 2015. The Materials Application Programming Interface (API): A simple, flexible and efficient API for materials data based on REpresentational State Transfer (REST) principles. Computational Materials Science, 97, pp.209-215.

  22. Rostami, M., Berahmand, K., Nasiri, E. and Forouzande, S., 2021. Review of swarm intelligence-based feature selection methods. Engineering Applications of Artificial Intelligence, 100, p.104210.

  23. Ruiz, J., Serral, E. and Snoeck, M., 2021. Unifying Functional User Interface Design Principles. International Journal of HumanComputer Interaction, 37(1), pp.47-67.

  24. Zhang, X., Zou, J., He, K. and Sun, J., 2015. Accelerating very deep convolutional networks for classification and detection. IEEE transactions on pattern analysis and machine intelligence, 38(10), pp.1943-1955.

Leave a Reply

Your email address will not be published.