{"id":4256,"date":"2020-04-22T22:32:36","date_gmt":"2020-04-23T02:32:36","guid":{"rendered":"https:\/\/www.hajim.wdev.rochester.edu\/senior-design-day\/ai-sorting-system\/"},"modified":"2020-05-04T14:54:49","modified_gmt":"2020-05-04T18:54:49","slug":"ai-sorting-system","status":"publish","type":"post","link":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/ai-sorting-system\/","title":{"rendered":"AI Sorting System"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Team Members<\/h2>\n\n\n\n<p>Tania Cano<br>Jordan Floyd<br>Donghwa Han<br>Celine Wang<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Supervisors<\/h2>\n\n\n\n<p>Jack Mottley, PhD, Electrical and Computer Engineering, UR<br>Daniel Phinney, Adjunct Professor, Electrical and Computer Engineering, UR<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Customers<\/h2>\n\n\n\n<p>We worked with L3Harris while we were still on campus.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Description<\/h2>\n\n\n\n<p>The AI Sorting System helps users sort their recyclable items into the correct category (plastic, metal, glass, or other). It takes a photo of a recyclable object, weighs it, and scans it with a metal detector. It inputs this data into a program that classifies the item as plastic, metal, or glass. Another program uses this data to make a final decision (whether the item is plastic, metal, glass, or other). The system includes 4 bins, one for each material. LEDs will light up on one of the bins and its lid will flip open, indicating that the recyclable should be placed in that bin.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/04\/50-virtual_design_day_registration__info_for_form-e1587667936780.jpg\" alt=\"Prototype of sorting system bins (plastic, metal, glass).\" class=\"wp-image-3166\" width=\"417\" height=\"461\" srcset=\"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/04\/50-virtual_design_day_registration__info_for_form-e1587667936780.jpg 397w, https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/04\/50-virtual_design_day_registration__info_for_form-e1587667936780-271x300.jpg 271w\" sizes=\"auto, (max-width: 417px) 100vw, 417px\" \/><figcaption>When an item is classified, the LEDs under the corresponding bin light up and the lid of that bin flips open. (This picture was taken before the &#8220;other&#8221; bin was added.)<\/figcaption><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/04\/50-custom_image_prediction-1024x208.jpg\" alt=\"Image Prediction. Input: glass cup, Confusion Matrix: 98.8% glass, 1.2% plastic.\" class=\"wp-image-3156\" width=\"694\" height=\"140\" srcset=\"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/04\/50-custom_image_prediction-1024x208.jpg 1024w, https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/04\/50-custom_image_prediction-300x61.jpg 300w, https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/04\/50-custom_image_prediction-768x156.jpg 768w, https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/04\/50-custom_image_prediction.jpg 1185w\" sizes=\"auto, (max-width: 694px) 100vw, 694px\" \/><figcaption>Sample image classification (before the &#8220;metal&#8221; category was trained). The trained model is about 98.8% sure that the image on the left is glass.<\/figcaption><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image wp-block-gallery columns-1 is-cropped\"><figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/05\/Prototype-249x300.jpg\" alt=\"\" class=\"wp-image-32042\" width=\"369\" height=\"445\" srcset=\"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/05\/Prototype-249x300.jpg 249w, https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/05\/Prototype-850x1024.jpg 850w, https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/05\/Prototype-768x925.jpg 768w, https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/05\/Prototype-1275x1536.jpg 1275w, https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/05\/Prototype-1700x2048.jpg 1700w, https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/05\/Prototype-1200x1446.jpg 1200w, https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/05\/Prototype-1980x2386.jpg 1980w\" sizes=\"auto, (max-width: 369px) 100vw, 369px\" \/><figcaption>Completed prototype of bins for the four categories (other, plastic, metal, and glass). To the left of the bins is the scale, which is where the items will be placed.<\/figcaption><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Parts List<\/h2>\n\n\n\n<p><strong>PARTS INVOLVING RASPBERRY PI:<br><\/strong>Raspberry Pi 4<br>USB-C Power Supply for Raspberry Pi 4<br>MicroSD Card (64 GB)<br>Micro HDMI to HDMI cable (for Raspberry Pi)<br>IR Sensor<br>Raspberry Pi Camera<\/p>\n\n\n\n<p><strong>PARTS INVOLVING ARDUINO:<br><\/strong>Arduino Uno<br>Arduino Power Supply<br>Arduino Kit<br>Scale (Arduino Compatible)<br>LED Strip (Arduino Compatible)<br>Servos &amp; Servo Arms (4)<br>Metal Detector<br>Bins (4)<\/p>\n\n\n\n<p><strong>OTHER PARTS:<br><\/strong>Laptop<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Steps of Implementation<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Step 1: Detect the Object<\/h3>\n\n\n\n<p>The diagram below shows connections between the IR obstacle sensor, Arduino, Raspberry Pi, and the Camera.<\/p>\n\n\n\n<p><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/hlXNoGJ-tPo_8g9Gd7FaUBq5V1EWcexC-SMhEvYhdh5j8S9iUSXyyaqT5eROLp06zoJzDaesxofm6M23ZVbKc8LxPifCg5uG3RjEZTshIPIexg1pgjPBjf2WWMtGLRutS-wR872M\" style=\"width: 500px;\"><\/p>\n\n\n\n<p>The IR sensor on the Raspberry Pi senses if an item has come to close proximity. The Raspberry Pi increments the item ID integer (which is saved to a text file).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 2: Take a Picture<\/h3>\n\n\n\n<p>The Raspberry Pi takes a picture using the camera module. The size of the image is 512 x 384 pixels.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 3: Take the Metal Detector &amp; Scale Readings<\/h3>\n\n\n\n<p>The Raspberry Pi sends a message to the Arduino by using SPI communication. In response, the Arduino takes the metal detector reading and scale reading. <\/p>\n\n\n\n<p>SPI communication was chosen because it is synchronous, it allows the master (the Raspberry Pi) to initiate and control all communications, and it is full-duplex (data can flow in both directions simultaneously).<\/p>\n\n\n\n<p>Two wires were used to connect between the microcomputer of the metal detector and the Arduino. The following video shows the Arduino reading the signal from the metal detector:<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video controls=\"\" src=\"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/05\/metaldetect.mp4\" height=\"450\"><\/video><figcaption>Metal detector detecting metallic item and updating Arduino. <\/figcaption><\/figure>\n\n\n\n<p>The scale consists of a load cell that can measure from 0-11 lbs and a high precision A\/D converter chip, the HX711 module.<\/p>\n\n\n\n<p>The following Arduino sketch uses the scale to measure the mass of the object.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;Q2HX711.h>\n\nconst byte hx711_data_pin = 2;\nconst byte hx711_clock_pin = 3;\n\nfloat y1 = 100.0; \/\/ calibrated mass to be added\nlong x1 = 0L;\nlong x0 = 0L;\nfloat avg_size = 10.0; \/\/ amount of averages for each mass measurement\n\nQ2HX711 hx711(hx711_data_pin, hx711_clock_pin); \/\/ prep hx711\n\nvoid setup() {\n  Serial.begin(9600); \/\/ prepare serial port\n  delay(1000); \/\/ allow load cell and hx711 to settle\n  \/\/ tare procedure\n  for (int ii=0;ii&lt;int(avg_size);ii++){\n    delay(10);\n    x0+=hx711.read();\n  }\n  x0\/=long(avg_size);\n  Serial.println(\"Add Calibrated Mass\");\n  int ii = 1;\n  while(true){\n    if (hx711.read()&lt;x0+10000){\n    } else {\n      ii++;\n      delay(2000);\n      for (int jj=0;jj&lt;int(avg_size);jj++){\n        x1+=hx711.read();\n      }\n      x1\/=long(avg_size);\n      break;\n    }\n  }\n  Serial.println(\"Calibration Complete\");\n}\n\nvoid loop() {\n  \/\/ averaging reading\n  long reading = 0;\n  for (int jj=0;jj&lt;int(avg_size);jj++){\n    reading+=hx711.read();\n  }\n  reading\/=long(avg_size);\n  \/\/ calculating mass based on calibration and linear fit\n  float ratio_1 = (float) (reading-x0);\n  float ratio_2 = (float) (x1-x0);\n  float ratio = ratio_1\/ratio_2;\n  float mass = y1*ratio;\n  Serial.print(\"Raw: \");\n  Serial.print(reading);\n  Serial.print(\", \");\n  Serial.println(mass);\n}\n\nCode Source: https:\/\/makersportal.com\/blog\/2019\/5\/12\/arduino-weighing-scale-with-load-cell-and-hx711<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Step 4: Communicate the Data<\/h3>\n\n\n\n<p>The Arduino sends the data from the metal detector and the scale to the Raspberry Pi by using SPI communication. The following Arduino sketch sets up SPI communication and sends the data. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"624\" height=\"905\" src=\"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/05\/image-30.png\" alt=\"\" class=\"wp-image-34742\" srcset=\"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/05\/image-30.png 624w, https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/05\/image-30-207x300.png 207w\" sizes=\"auto, (max-width: 624px) 100vw, 624px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Step 5: Save the Data into a File<\/h3>\n\n\n\n<p>The Raspberry Pi saves the picture, the item ID, and the readings from the metal detector and the scale to a shared folder between the Raspberry Pi and the laptop. The path to this folder is the same as what is specified in the image classification program. The image will be always be named input_image.jpg. The code for Pi to do step 1-5 as well as 9-10 is shown as follows: <\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/05\/image-31.png\" alt=\"\" class=\"wp-image-34752\" width=\"610\" height=\"191\" srcset=\"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/05\/image-31.png 882w, https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/05\/image-31-300x94.png 300w, https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/05\/image-31-768x241.png 768w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"980\" height=\"677\" src=\"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/05\/image-32.png\" alt=\"\" class=\"wp-image-34762\" srcset=\"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/05\/image-32.png 980w, https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/05\/image-32-300x207.png 300w, https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/05\/image-32-768x531.png 768w\" sizes=\"auto, (max-width: 980px) 100vw, 980px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"939\" height=\"664\" src=\"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/05\/image-33.png\" alt=\"\" class=\"wp-image-34772\" srcset=\"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/05\/image-33.png 939w, https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/05\/image-33-300x212.png 300w, https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/05\/image-33-768x543.png 768w\" sizes=\"auto, (max-width: 939px) 100vw, 939px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"381\" src=\"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/05\/image-34-1024x381.png\" alt=\"\" class=\"wp-image-34782\" srcset=\"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/05\/image-34-1024x381.png 1024w, https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/05\/image-34-300x112.png 300w, https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/05\/image-34-768x286.png 768w, https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/05\/image-34.png 1115w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Step 6: The Laptop Waits for the Data<\/h3>\n\n\n\n<p>The program on the laptop reads the item ID repeatedly until it sees an update, which means a new set of data is ready to be classified.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 7: Classify the Image<\/h3>\n\n\n\n<p>The image classification program takes in the image that was saved at the aforementioned path. It uses a custom model that we trained using a Python library called ImageAI. (Its documentation can be found <a rel=\"noreferrer noopener\" href=\"https:\/\/imageai.readthedocs.io\/en\/latest\/#\" target=\"_blank\">here<\/a>.) The model was trained to distinguish between plastic, metal, and glass objects. After the program runs, it displays the probabilities that the item is each material.<\/p>\n\n\n\n<p>ImageAI supports transfer learning; that is, you can borrow a pre-trained model and use it to facilitate your custom training. despite limited training data. This practice promises much higher accuracy and substantially reduces training times. Our model is a custom application of ResNet, which is a classic neural network model popular for computer vision.<\/p>\n\n\n\n<p>Such training requires high performance computing power, i.e. powerful GPUs. It may take hours or days on a regular business laptop without an external GPU.<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video controls src=\"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/04\/\ub179\ud654_2020_05_03_21_45_19_526.mp4\"><\/video><figcaption>Identification of 7 sample items using the image classification program<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Step 8: Run the Decision Tree Program<\/h3>\n\n\n\n<p>When the image classification program ends, another program takes in the data from the metal detector, the scale, and the image classification program. Based on these values, the program determines which category the item belongs to (plastic, metal, glass, or other). Below is a decision tree that illustrates this program.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/05\/Decision-Tree-with-Other-2.jpg\" alt=\"\" class=\"wp-image-35792\" width=\"385\" height=\"546\" srcset=\"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/05\/Decision-Tree-with-Other-2.jpg 549w, https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/05\/Decision-Tree-with-Other-2-211x300.jpg 211w\" sizes=\"auto, (max-width: 385px) 100vw, 385px\" \/><figcaption>Decision Tree<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Step 9: The Raspberry Pi Waits for the Result<\/h3>\n\n\n\n<p>The Raspberry Pi checks the text file continuously until the item ID inside the text file matches what it is looking for. This means the decision tree program has ended and the result is available.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 10: Communicate the Final Decision to the Arduino<\/h3>\n\n\n\n<p>The Raspberry Pi sends the final decision to the Arduino by using SPI communication.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 11: Communicate the Final Decision to the User<\/h3>\n\n\n\n<p>A prototype was built consisting of the four servo motors, the RGB LED strips, an Arduino Board, and the scale.<\/p>\n\n\n\n<p>The following Arduino sketch uses the final decision &#8220;x&#8221; to determine which LEDs to light up and which servos need to change position. (The servos are used to flip open the lid of the bin.) After about 8 seconds, the LEDs turn off and the servos return to their original position.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;FastLED.h>\n#include &lt;Servo.h>\n\n\n#define LED_PIN     7\n#define NUM_LEDS    20\n#define DT A0\n#define SCK A1\n\n\nCRGB leds&#91;NUM_LEDS];\n\n\/\/ Declare the Servo pin \nint servoPin1 = 3;\nint servoPin2 = 5;\nint servoPin3 = 6;\nint servoPin4 = 9;\n\n\/\/ Create a servo object \nServo Servo1;\nServo Servo2;\nServo Servo3;\nServo Servo4;\n\n\nvoid setup() {\n  FastLED.addLeds&lt;WS2812, LED_PIN, GRB>(leds, NUM_LEDS);\n  \/\/ Attach the servo to the used pin number\n  \n  Servo1.attach(servoPin1);\n  Servo2.attach(servoPin2);\n  Servo3.attach(servoPin3);\n  Servo4.attach(servoPin4);\n  \n}\n\/\/ If the the the program clasifies object as Glass then x = 1\n\/\/ If the the the program clasifies object as Metal then x = 2 \n\/\/ If the the the program clasifies object as Plastic then x = 3\n\/\/ If the the the program clasifies object as Other then x = 4\n\n\nvoid loop(){\n  \n  \/\/starts the servos at the \"closed\" position\n  Servo1.write(90);\n  Servo2.write(90);\n  Servo3.write(90);\n  Servo4.write(90);\n  \n  \/\/if object is glass\n  \n  if (x == 1){\n  \n    for (i = 0; i &lt; 5; i++) {\n      leds&#91;i] = CRGB ( 255, 0, 0); \/\/will light up the LEDs(RED) on plastic bin\n      FastLED.show();\n      delay(500);\n    }\n       \n    Servo1.write(180); \/\/ open the lid on plastic bin\n    delay(8000); \n    Servo1.write(90); \/\/ close lid\n    for (i = 0; i&lt; 6; i++){\n      leds&#91;i] = CRGB ( 0, 0, 0); \/\/ turn off all LEDs\n      FastLED.show();\n    }\n    \n    x = 0; \/\/ exit loop\n  }\n  \n  else if (x == 2){ \/\/ If object is metal\n    int i = 5; \/\/Check if this line is needed \n    for (i = 5; i &lt; 10; i++) {\n      leds&#91;i] = CRGB ( 0, 255, 0); \/\/ Turn LEDs(BLUE) on Metal bin on\n      FastLED.show();\n      delay(500);\n    } \n      Servo2.write(180); \n      delay(8000); \n      Servo2.write(90);\n      \n      for (i = 5; i&lt; 10; i++){\n      leds&#91;i] = CRGB ( 0, 0, 0); \/\/ Turn LEDs off\n      FastLED.show();\n      }\n      \n      x = 0;\n    }\n  \n\/\/If object is plastic\n  else if (x == 3){\n    int i = 10;\n    for(i = 10; i &lt; 16; i++){\n      leds&#91;i] = CRGB ( 127, 127, 0); \/\/Turn LEDs (Yellow) on\n      FastLED.show();\n      delay(500);\n    }\n    \n      Servo3.write(180); \n      delay(8000); \n      Servo3.write(90);\n\n      for (i = 0; i&lt; 16; i++){\n      leds&#91;i] = CRGB ( 0, 0, 0); \/\/ Turn LEDs off\n      FastLED.show();\n      }\n      \n      x = 0;\n    }\n    \n    else if (x == 4){\n    int i = 16;\n    for(i = 16; i &lt; 21; i++){\n      leds&#91;i] = CRGB ( 0, 0, 255); \/\/Turn LEDs(GREEN) on\n      FastLED.show();\n      delay(500);\n    }\n    \n    Servo4.write(180); \n    delay(8000); \n    Servo4.write(90);\n\n    for (i = 16; i&lt; 21; i++){\n      leds&#91;i] = CRGB ( 0, 0, 0); \/\/ Turn LEDs off\n      FastLED.show();\n    }\n      \n    x = 0;\n    }\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Step 12: Repeat<\/h3>\n\n\n\n<p>If there is another object that needs to be classified, the process can be started again from Step 1.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The AI Sorting System takes a photo of a recyclable object, weighs it, and scans it with a metal detector. It inputs this data into a program that classifies the item as plastic, metal, or glass. The system includes 3 bins, one for each material. LEDs will light up on one of the bins and its lid will flip open, indicating that the recyclable should be placed in that bin.<\/p>\n","protected":false},"author":6242,"featured_media":3166,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[116,2956],"tags":[],"coauthors":[8612],"class_list":["post-4256","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ece-archive","category-energy-environmental-archive"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>AI Sorting System - Senior Design Day<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.hajim.rochester.edu\/senior-design-day\/ai-sorting-system\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AI Sorting System - Senior Design Day\" \/>\n<meta property=\"og:description\" content=\"The AI Sorting System takes a photo of a recyclable object, weighs it, and scans it with a metal detector. It inputs this data into a program that classifies the item as plastic, metal, or glass. The system includes 3 bins, one for each material. LEDs will light up on one of the bins and its lid will flip open, indicating that the recyclable should be placed in that bin.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hajim.rochester.edu\/senior-design-day\/ai-sorting-system\/\" \/>\n<meta property=\"og:site_name\" content=\"Senior Design Day\" \/>\n<meta property=\"article:published_time\" content=\"2020-04-23T02:32:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-05-04T18:54:49+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/04\/50-virtual_design_day_registration__info_for_form-e1587667936780.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"397\" \/>\n\t<meta property=\"og:image:height\" content=\"439\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/ai-sorting-system\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/ai-sorting-system\\\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/#\\\/schema\\\/person\\\/351018fbcf84ed8cac6d8072ba5b347c\"},\"headline\":\"AI Sorting System\",\"datePublished\":\"2020-04-23T02:32:36+00:00\",\"dateModified\":\"2020-05-04T18:54:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/ai-sorting-system\\\/\"},\"wordCount\":1021,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/ai-sorting-system\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/wp-content\\\/uploads\\\/2020\\\/04\\\/50-virtual_design_day_registration__info_for_form-e1587667936780.jpg\",\"articleSection\":[\"ECE Archive\",\"Energy and Environmental Archive\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/ai-sorting-system\\\/\",\"url\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/ai-sorting-system\\\/\",\"name\":\"AI Sorting System - Senior Design Day\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/ai-sorting-system\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/ai-sorting-system\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/wp-content\\\/uploads\\\/2020\\\/04\\\/50-virtual_design_day_registration__info_for_form-e1587667936780.jpg\",\"datePublished\":\"2020-04-23T02:32:36+00:00\",\"dateModified\":\"2020-05-04T18:54:49+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/#\\\/schema\\\/person\\\/351018fbcf84ed8cac6d8072ba5b347c\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/ai-sorting-system\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/ai-sorting-system\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/ai-sorting-system\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/wp-content\\\/uploads\\\/2020\\\/04\\\/50-virtual_design_day_registration__info_for_form-e1587667936780.jpg\",\"contentUrl\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/wp-content\\\/uploads\\\/2020\\\/04\\\/50-virtual_design_day_registration__info_for_form-e1587667936780.jpg\",\"width\":397,\"height\":439,\"caption\":\"Prototype of sorting system bins (plastic, metal, glass).\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/ai-sorting-system\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AI Sorting System\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/#website\",\"url\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/\",\"name\":\"Senior Design Day\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/#\\\/schema\\\/person\\\/351018fbcf84ed8cac6d8072ba5b347c\",\"name\":\"admin\",\"url\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/author\\\/seniordesign\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"AI Sorting System - Senior Design Day","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/ai-sorting-system\/","og_locale":"en_US","og_type":"article","og_title":"AI Sorting System - Senior Design Day","og_description":"The AI Sorting System takes a photo of a recyclable object, weighs it, and scans it with a metal detector. It inputs this data into a program that classifies the item as plastic, metal, or glass. The system includes 3 bins, one for each material. LEDs will light up on one of the bins and its lid will flip open, indicating that the recyclable should be placed in that bin.","og_url":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/ai-sorting-system\/","og_site_name":"Senior Design Day","article_published_time":"2020-04-23T02:32:36+00:00","article_modified_time":"2020-05-04T18:54:49+00:00","og_image":[{"url":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/04\/50-virtual_design_day_registration__info_for_form-e1587667936780.jpg","width":397,"height":439,"type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/ai-sorting-system\/#article","isPartOf":{"@id":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/ai-sorting-system\/"},"author":{"name":"admin","@id":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/#\/schema\/person\/351018fbcf84ed8cac6d8072ba5b347c"},"headline":"AI Sorting System","datePublished":"2020-04-23T02:32:36+00:00","dateModified":"2020-05-04T18:54:49+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/ai-sorting-system\/"},"wordCount":1021,"commentCount":0,"image":{"@id":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/ai-sorting-system\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/04\/50-virtual_design_day_registration__info_for_form-e1587667936780.jpg","articleSection":["ECE Archive","Energy and Environmental Archive"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/ai-sorting-system\/","url":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/ai-sorting-system\/","name":"AI Sorting System - Senior Design Day","isPartOf":{"@id":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/ai-sorting-system\/#primaryimage"},"image":{"@id":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/ai-sorting-system\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/04\/50-virtual_design_day_registration__info_for_form-e1587667936780.jpg","datePublished":"2020-04-23T02:32:36+00:00","dateModified":"2020-05-04T18:54:49+00:00","author":{"@id":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/#\/schema\/person\/351018fbcf84ed8cac6d8072ba5b347c"},"breadcrumb":{"@id":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/ai-sorting-system\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hajim.rochester.edu\/senior-design-day\/ai-sorting-system\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/ai-sorting-system\/#primaryimage","url":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/04\/50-virtual_design_day_registration__info_for_form-e1587667936780.jpg","contentUrl":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2020\/04\/50-virtual_design_day_registration__info_for_form-e1587667936780.jpg","width":397,"height":439,"caption":"Prototype of sorting system bins (plastic, metal, glass)."},{"@type":"BreadcrumbList","@id":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/ai-sorting-system\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/"},{"@type":"ListItem","position":2,"name":"AI Sorting System"}]},{"@type":"WebSite","@id":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/#website","url":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/","name":"Senior Design Day","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/#\/schema\/person\/351018fbcf84ed8cac6d8072ba5b347c","name":"admin","url":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/author\/seniordesign\/"}]}},"_links":{"self":[{"href":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-json\/wp\/v2\/posts\/4256","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-json\/wp\/v2\/users\/6242"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-json\/wp\/v2\/comments?post=4256"}],"version-history":[{"count":31,"href":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-json\/wp\/v2\/posts\/4256\/revisions"}],"predecessor-version":[{"id":36162,"href":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-json\/wp\/v2\/posts\/4256\/revisions\/36162"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-json\/wp\/v2\/media\/3166"}],"wp:attachment":[{"href":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-json\/wp\/v2\/media?parent=4256"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-json\/wp\/v2\/categories?post=4256"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-json\/wp\/v2\/tags?post=4256"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-json\/wp\/v2\/coauthors?post=4256"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}