İçindekiler:

Geri Dönüşüm Sıralama Robotu: 15 Adım (Resimlerle)
Geri Dönüşüm Sıralama Robotu: 15 Adım (Resimlerle)

Video: Geri Dönüşüm Sıralama Robotu: 15 Adım (Resimlerle)

Video: Geri Dönüşüm Sıralama Robotu: 15 Adım (Resimlerle)
Video: 👁️ Objeleri Büyüten Optik İllüzyon #shorts #illüzyon 2024, Aralık
Anonim
Image
Image
Verileri Alma
Verileri Alma

Topluluklarda ve işletmelerde ortalama kirlilik oranının %25'e kadar çıktığını biliyor muydunuz? Bu, attığınız her dört geri dönüşüm parçasından birinin geri dönüştürülmediği anlamına gelir. Bu, geri dönüşüm merkezlerindeki insan hatasından kaynaklanmaktadır. Geleneksel olarak, işçiler malzemeye bağlı olarak çöpleri farklı kutulara ayıracaklardır. İnsanlar hata yapmaya ve çöpleri düzgün bir şekilde ayırmamaya mahkumdur ve bu da kirlenmeye yol açar. Kirlilik ve iklim değişikliği günümüz toplumunda daha da önemli hale geldikçe, geri dönüşüm gezegenimizi korumada büyük rol oynuyor. Çöpleri ayırmak için robotları kullanarak, kontaminasyon oranları çok daha ucuz ve daha sürdürülebilir olmasının yanı sıra önemli ölçüde azalacaktır. Bunu çözmek için, farklı geri dönüşüm malzemeleri arasında sıralama yapmak için makine öğrenimini kullanan bir geri dönüşüm sıralama robotu oluşturdum.

Adım 1: Parçalar

Bu eğitimle birlikte takip etmek için aşağıdaki bölümlere sahip olduğunuzdan emin olun:

3D Basılı Parçalar (aşağıdaki adıma bakın)

Ahududu Pi RPI 4 4GB

Google Coral USB Hızlandırıcı

Arduino Uno R3

Raspberry Pi Kamera Modülü V2

5V 2A DC Duvar Güç Kaynağı

DC 12V Güç Kaynağı

SG90 9g Mikro Servolar 4 adet.

M3 x 0,5 mm Paslanmaz Çelik Kendinden Kilitli Naylon Altıgen Kilit Somunu 100 adet.

M3x20 Düğme Başlı Titanyum Vida 10'lu.

MG996R Metal Dişli Tork Analog Servo Motor 4 adet.

Samsung 32GB Seçili Hafıza Kartı

Raspberry Pi Kamera için Adafruit Flex Kablo - 1 metre

M2 Erkek Dişi Pirinç Ara Parçası Standoff Vida Somun Çeşitleri Kiti

60mm 12V Fan

6.69"x 5.12" x 2.95" Proje Kutusu

2. Adım: 3D Basılı Parçalar

Robotik kol için tüm parçaları 3D yazdırmanız gerekecek. Tüm dosyaları burada bulabilirsiniz.

3. Adım: Kodlayın

Lütfen bu eğiticiyi takip etmek için GitHub depomu klonlayın.

Adım 4: Verileri Alma

Farklı geri dönüşüm malzemelerini algılayabilen ve tanıyabilen nesne algılama modelini eğitmek için 2527 görüntü içeren çöp ağı veri setini kullandım:

  • 501 cam
  • 594 kağıt
  • 403 karton
  • 482 plastik
  • 410 metal
  • 137 çöp

Yukarıdaki resim, veri kümesindeki resimlerden bir örnektir.

Bu veri kümesi, bir nesne algılama modelini eğitmek için çok küçüktür. Doğru bir modeli eğitmek için çok az olan sadece yaklaşık 100 çöp resmi var, bu yüzden onu dışarıda bırakmaya karar verdim.

Veri kümesini indirmek için bu google sürücü klasörünü kullanabilirsiniz. dataset-resize.zip dosyasını indirdiğinizden emin olun. Daha hızlı eğitime izin vermek için daha küçük bir boyuta yeniden boyutlandırılmış resim kümesini içerir. Ham görüntüleri kendi beğeninize göre yeniden boyutlandırmak isterseniz, dataset-original.zip dosyasını indirmekten çekinmeyin.

Adım 5: Görüntüleri Etiketleme

Görüntüleri Etiketleme
Görüntüleri Etiketleme

Ardından, nesne algılama modelini eğitebilmemiz için farklı geri dönüşüm malzemelerinin birkaç görüntüsünü etiketlememiz gerekiyor. Bunu yapmak için, resimlerdeki nesne sınırlayıcı kutuları etiketlemenize izin veren ücretsiz bir yazılım olan labelImg'i kullandım.

Her görüntüyü uygun etiketle etiketleyin. Bu eğitim size nasıl olduğunu gösterir. Algılama modelinin mümkün olduğunca doğru olmasını sağlamak için her bir sınırlayıcı kutunun her nesnenin sınırına yakın olduğundan emin olun. Tüm.xml dosyalarını bir klasöre kaydedin.

Yukarıdaki fotoğraf, resimlerinizi nasıl etiketleyeceğinizi gösterir.

Bu çok sıkıcı ve zihin uyuşturan bir deneyim. Neyse ki sizin için tüm resimleri sizin için etiketledim! Burada bulabilirsiniz.

6. Adım: Eğitim

Eğitim açısından, Tensorflow kullanarak transfer öğrenimi kullanmaya karar verdim. Bu, büyük miktarda veri olmadan oldukça doğru bir modeli eğitmemizi sağlar.

Bunu yapmamızın birkaç yolu var. Bunu buluttaki yerel masaüstü makinemizde yapabiliriz. Yerel makinemizde eğitim, bilgisayarınızın ne kadar güçlü olduğuna ve güçlü bir GPU'nuz olup olmadığına bağlı olarak çok uzun zaman alacaktır. Bu bence muhtemelen en kolay yol, ancak yine hızın dezavantajı ile.

Transfer öğrenimi hakkında dikkat edilmesi gereken bazı önemli noktalar vardır. Eğitim için kullandığınız önceden eğitilmiş modelin Coral Edge TPU ile uyumlu olduğundan emin olmanız gerekir. Uyumlu modelleri burada bulabilirsiniz. MobileNet SSD v2 (COCO) modelini kullandım. Başkalarıyla da deney yapmaktan çekinmeyin.

Yerel makinenizde eğitim almak için Google'ın öğreticisini veya Windows 10 üzerinde çalışıyorsa EdjeElectronics öğreticisini izlemenizi tavsiye ederim. Şahsen, EdjeElectroncs öğreticisini test ettim ve masaüstümde başarıya ulaştım. Google'ın öğreticisinin işe yarayıp yaramayacağını teyit edemem ama işe yaramazsa şaşırırım.

Bulutta eğitim almak için AWS veya GCP kullanabilirsiniz. Deneyebileceğiniz bu öğreticiyi buldum. Nesne algılama modelinizi süper hızlı eğitebilen Google'ın bulut TPU'larını kullanır. AWS'yi de kullanmaktan çekinmeyin.

İster yerel makinenizde ister bulutta antrenman yapın, eğitimli bir tensorflow modeline sahip olmalısınız.

Adım 7: Eğitilmiş Modelin Derlenmesi

Eğitilmiş Modelin Derlenmesi
Eğitilmiş Modelin Derlenmesi

Eğitilmiş modelinizin Coral Edge TPU ile çalışması için onu derlemeniz gerekir.

Yukarıda iş akışı için bir diyagramdır.

Eğitimden sonra, onu donmuş bir grafik (.pb dosyası) olarak kaydetmeniz gerekir. Ardından, onu bir Tensorflow Lite modeline dönüştürmeniz gerekir. Nasıl "Eğitim sonrası niceleme" yazdığına dikkat edin. Transfer öğrenmeyi kullanırken uyumlu önceden eğitilmiş modelleri kullandıysanız, bunu yapmanız gerekmez. Uyumlulukla ilgili tüm belgelere buradan göz atın.

Tensorflow Lite modeliyle, onu bir Edge TPU modeline derlemeniz gerekir. Bunun nasıl yapılacağına ilişkin ayrıntılara buradan bakın.

Adım 8: Geri Dönüşüm Algılama Modeli

Nesne algılama modelini eğitmek, dönüştürmek ve derlemekle uğraşmak istemiyorsanız, geri dönüşüm algılama modelime buradan göz atın.

9. Adım: Modeli Dağıtın

Modeli Dağıt
Modeli Dağıt

Bir sonraki adım, eğitimli nesne algılama modelini çalıştırmak için Raspberry Pi (RPI) ve Edge TPU'yu kurmaktır.

İlk olarak, bu öğreticiyi kullanarak RPI'yi ayarlayın.

Ardından, bu öğreticiyi izleyerek Edge TPU'yu ayarlayın.

Son olarak, RPI kamera modülünü ahududu pi'ye bağlayın.

Artık nesne algılama modelinizi test etmeye hazırsınız!

Depomu zaten klonladıysanız, RPI dizinine gitmek ve test_detection.py dosyasını çalıştırmak isteyeceksiniz:

python test_detection.py --model recycle_ssd_mobilenet_v2_quantized_300x300_coco_2019_01_03/detect_edgetpu.tflite --labels recycle_ssd_mobilenet_v2_quantized_300x300_coco_2019_01_03/labels.txt

Küçük bir pencere açılmalı ve plastik bir su şişesi veya başka bir geri dönüşüm malzemesi koyarsanız, yukarıdaki resimdeki gibi algılamalıdır.

Programı sonlandırmak için klavyenizdeki "q" harfine basın.

Adım 10: Robotik Kolu Oluşturun

Robot Kolunu İnşa Et
Robot Kolunu İnşa Et

Robotik kol, burada bulduğum 3D baskılı bir kol. Sadece kurulumla ilgili öğreticiyi takip edin.

Yukarıdaki resim robotik kolumun nasıl ortaya çıktığını gösteriyor.

Kodumdaki Arduino I/O pinlerine göre servo pinlerini bağladığınızdan emin olun. Servoları kolun altından üstüne şu sırayla bağlayın: 3, 11, 10, 9, 6, 5. Bu sırayla bağlamamak kolun yanlış servoyu hareket ettirmesine neden olacaktır!

Arduino dizinine gidip basicMovement.ino dosyasını çalıştırarak çalıştığını görmek için test edin. Bu, kolun önüne koyduğunuz bir nesneyi yakalayıp arkasına bırakacaktır.

Adım 11: RPI ve Robotik Kolun Bağlanması

RPI ve Robotik Kolun Bağlanması
RPI ve Robotik Kolun Bağlanması

Önce kamera modülünü tırnağın alt kısmına monte etmemiz gerekiyor. Yukarıdaki resim nasıl görünmesi gerektiğini göstermektedir.

Tanınan geri dönüşüm malzemesini alırken hataları en aza indirmek için kamerayı mümkün olduğunca düz bir şekilde hizalamaya çalışın. Malzeme listesinde görüldüğü gibi uzun kamera modülü şerit kablosunu kullanmanız gerekecektir.

Ardından roboticArm.ino dosyasını Arduino kartına yüklemeniz gerekir.

Son olarak, RPI'nin USB bağlantı noktası ile Arduino'nun USB bağlantı noktası arasına bir USB kablosu bağlamamız gerekiyor. Bu onların seri olarak iletişim kurmasını sağlayacaktır. Bunu nasıl ayarlayacağınızla ilgili bu öğreticiyi izleyin.

Adım 12: Son Dokunuşlar

Son dokunuşlar
Son dokunuşlar
Son dokunuşlar
Son dokunuşlar

Bu adım tamamen isteğe bağlıdır, ancak tüm bileşenlerimi güzel bir küçük proje kutusuna koymayı seviyorum.

Yukarıdaki resimler nasıl göründüğünü gösterir.

Proje kutusunu malzeme listesinde bulabilirsiniz. Elektroniği monte etmek için birkaç delik açtım ve pirinç ayırıcılar kullandım. Ayrıca, sıcakken RPI ve TPU üzerinden sabit bir hava akışı sağlamak için 4 soğutma fanı da monte ettim.

Adım 13: Koşu

Artık hem robotik kolu hem de RPI'yi çalıştırmaya hazırsınız! RPI'da recycle_detection.py dosyasını çalıştırabilirsiniz. Bu bir pencere açacak ve robotik kol, demo videodaki gibi çalışmaya başlayacaktır! Programı sonlandırmak için klavyenizdeki "q" harfine basın.

Kodla oynamaktan ve eğlenmekten çekinmeyin!

Adım 14: Gelecekteki Çalışma

R. O. S kullanmayı umuyorum. robotik kolu daha hassas hareketlerle kontrol etmek. Bu, nesnelerin daha doğru bir şekilde alınmasını sağlayacaktır.

Adım 15: Sorular?

Herhangi bir sorunuz varsa aşağıya bir yorum bırakmaktan çekinmeyin!

Önerilen: