Waste Collector Roboboat Using Neural Network Method Based on Tensorflow Framework

Today, the waste problem has become more serious, because the waste can cause environmental pollution and bad smell pollution. The less awareness of cleanliness is the main factor, especially the less awareness of throwing waste at the right place. Based on the data of the Ministry of Environment and Forestry “Environmental Ignorance Behavior” in 2008 said that around 72 percent of Indonesian less be aware of the waste problem generally with plastic waste, this waste will flow to the sea and make pollution. This research objective is to design and accomplish previous roboboat research that still has some drawbacks. This research employs digital image processing and neural network based on the tensor flow framework method to overcome less accurate waste detection as well as autopilot navigation system. The research result shows by using 3600 dataset images, the model has the lowest loss 0.9 and 64.3% average accuracy with various samples and distance.


Introduction
Waste is something that has no value which has a negative image for common people. To increase the awareness of waste processing to minimize waste problems, that paradigm should be changed. Kholil (2004) and Saribanon (2009) revealed that future waste processing has to emphasize the paradigm-changing of society and prioritize the social involvement in waste processing (bottom-up) [1]. Plastic waste is one of the most harmful wastes that is produced from packaging, this waste is made from non-renewable ingredients. Normally, plastic items take up to 1000 years to decompose in landfills. But plastic bags we use in our everyday life take 10-20 years to decompose, while plastic bottles take 450 years. This waste will flow to the sea and make pollution One of the solutions to solve this waste problem is by using roboboat that can collect waste at the river. There is much research has been done using a remote control, automatic control, as well as waste detection. This research can be improved to overcome a waste problem in the river.
Our research employees Tensorflow are an opensource library for developing neural network-based software, created by Google Brain Team. Tensorflow can be used to execute neural network algorithms such as handwriting recognition, object detection, landscape detection, image recognition, etc. Our research employs raspberry pi, a single-board computer, as the main processor. Our roboboat is equipped with several sensors like a distance sensor, compass sensor as well as GPS module for roboboat navigation. This combination of the camera as vision, several sensors, and a GPS module for automatic navigation is expected to improve the detection accuracy.

Previous Research
Roboboat is an alternative to solve the trash problem in water, collecting trash at the river will be easier by using roboboat. There are several previous research that related to our research: F. Sulistyawan

Methods
Our research method is consisting of Electrical design and software design using Tensorflow. The figure below shows the system flowchart: From the above figure, our waste collector roboboat initializes all sensors and gets all the sensors data (Camera, Ultrasonic, GPS, and Compass) and then the robot proceeds the balancing, when the robot gets balanced the recognition process is started otherwise the robot will initialize all of the sensors. The recognition process is started by converting the image obtained from a camera into RGB color space then resize it into a 300x300 frame size.
The resized image has an integer data type then convert into float data type, then proceed into Tensorflow object detection to recognize the trash in front of the roboboat. If the trash is detected the roboboat will maneuver to the trash at a certain distance and collect it otherwise the robot will initialize all of the sensors.

Fig. 2. Electrical Block Diagram
The electrical design of the waste collector roboboat consists of several parts. Figure 2 shows an electrical block diagram which consists of the following parts:

Software Design
Tensorflow is an open-source library for numerical computation and large-scale machine learning that ease Google Brain TensorFlow, the process of acquiring data, training models, serving predictions, and refining future results. This method will be employed to detect the trash, given an image or a video stream, an object detection model can identify which of a known set of objects might be present and provide information about their positions within the image. The computation of TensorFlow proceeds in Raspberry Pi single-board computer. This method was based on Convolutional Neural Network that has several processes (Convolutional Layer, Pooling Layer, ReLU Layer, Classification-Fully Connected Layer).

Convolution Layer
CNN works by comparing images piece by piece. Filters are spatially small along width and height but extend through the full depth of the input image. It is designed in such a manner that it detects a specific type of feature in the input image. In the convolution layer, we move the filter/kernel to every possible position on the input matrix. Element-wise multiplication between the filtersized patch of the input image and filter is done, which is then summed. The translation of the filter to every possible position of the input matrix of the image allows discovering that feature is present anywhere in the image. The generated resulting matrix is called the feature map. Convolution neural networks can learn from multiple features parallelly. In the final stage, we stack all the output feature maps along with the depth and produce the output.

Pooling Layer
Pooling layers are added in between two convolution layers with the sole purpose of reducing the spatial size of the image representation. The pooling layer has two hyperparameters (window size and stride). From each window, we take either the maximum value or the average of the values in the window depending upon the type of pooling being performed. The Pooling Layer operates independently on every depth slice of the input and resizes it spatially, and later stacks them together.
There are two pooling, Max and Average pooling, Max Pooling selects the maximum element from each of the windows of the feature map. Thus, after the maxpooling layer, the output would be a feature map containing the most dominant features of the previous feature map. Average Pooling computes the average of the elements present in the region of the feature map covered by the filter. It simply averages the features from the feature map. Max Pooling performs a lot better than Average Pooling.

ReLU Layer
In this layer, the ReLU activation function is used, and every negative value in the output volume from the convolution layer is replaced with zero. This is done to prevent the values from summing up to zero.

Fully-Connected Layer
The Convolutional Layer, along with the Pooling Layer, forms a block in the Convolutional Neural Network. The number of such layers may be increased for capturing finer details depending upon the complexity of the task at the cost of more computational power. Having been able to furnish important feature extraction, we are going to flatten the final feature representation and feed it to a regular fully-connected neural network for image classification purposes.

Results
Our classification loss training model employee's tensor flow software version 1.9 with pre-trained model SSD Net V2, this model gives high speed but decreases the accuracy. Here is the training result for 3600 dataset images:

Fig. 11. Data Loss Training Model
As seen on the graph, Classification loss has no significant decrement after 100000 steps so this training is stopped at step 127349 with the lowest classification loss. Our model has good quality because the classification loss is 0.9 of 100. Table 1 below shows the result of object detection.