Hören wir mit dem Window-Shopping auf und fangen wir mit Window Shopping an!
So funktioniert das Dropping mit AI
- Ziel: Einen Service zu betreiben, der mithilfe von AI Hüte aus dem Fenster fallen lässt und sie New Yorker Bürgern bereitstellt.
- Benötigt werden: Raspberry Pi, Adafruit-Schrittmotor, Schnur, Roboflow AI, ein leichtes Produkt (z. B. eine Propellerkappe).
Das Fenster öffnen
- Problem: Das Fenster lässt sich nur etwa 4 Zoll weit öffnen.
- Lösung: Durch Googeln wurde der passende Schlüssel für das Fenster gefunden und das Problem gelöst.
Die Hutauswahl
- Bedingungen: Ein Hut, der beim Herunterfallen niemanden verletzt und den Verkehr nicht behindert.
- Auswahl: Eine Propellerkappe, die die Zukunft symbolisiert und schön herunterfällt.
Der Dropping-Mechanismus
- Aufbau: Verwendung eines Raspberry Pi und eines Schrittmotors.
- Methode: Die Schnur wird um den Schrittmotor gewickelt und schrittweise bewegt.
- Code: Der Dropping-Code ist als Python-Datei geschrieben.
import time
import board
import digitalio
enable_pin = digitalio.DigitalInOut(board.D18)
coil_A_1_pin = digitalio.DigitalInOut(board.D4)
coil_A_2_pin = digitalio.DigitalInOut(board.D17)
coil_B_1_pin = digitalio.DigitalInOut(board.D23)
coil_B_2_pin = digitalio.DigitalInOut(board.D24)
enable_pin.direction = digitalio.Direction.OUTPUT
coil_A_1_pin.direction = digitalio.Direction.OUTPUT
coil_A_2_pin.direction = digitalio.Direction.OUTPUT
coil_B_1_pin.direction = digitalio.Direction.OUTPUT
coil_B_2_pin.direction = digitalio.Direction.OUTPUT
enable_pin.value = True
def forward(delay, steps):
i = 0
while i in range(0, steps):
setStep(1, 0, 1, 0)
time.sleep(delay)
setStep(0, 1, 1, 0)
time.sleep(delay)
setStep(0, 1, 0, 1)
time.sleep(delay)
setStep(1, 0, 0, 1)
time.sleep(delay)
i += 1
def setStep(w1, w2, w3, w4):
coil_A_1_pin.value = w1
coil_A_2_pin.value = w2
coil_B_1_pin.value = w3
coil_B_2_pin.value = w4
forward(5, int(512))
AI
- Ziel: In Echtzeit erkennen, ob sich unter dem Fenster eine Person befindet.
- Methode: Das Videobild einer Webcam wird in Echtzeit analysiert, um zu prüfen, ob sich an einer bestimmten Position eine Person befindet.
- Modell: Mit Roboflow wurde ein Objekterkennungsmodell erstellt.
- Code: Der Erkennungs- und Dropping-Code ist als Python-Datei geschrieben.
import cv2
import time
import paramiko
from inference_sdk import InferenceHTTPClient
CLIENT = InferenceHTTPClient(api_url="https://detect.roboflow.com", api_key="API_KEY")
def ssh_execute(host, port, username, password, command):
client = paramiko.SSHClient()
client.load_system_host_keys()
client.set_missing_host_key_policy(paramiko.WarningPolicy)
try:
client.connect(host, port=port, username=username, password=password)
stdin, stdout, stderr = client.exec_command(command)
print(stdout.read().decode().strip())
if stderr.read().decode().strip():
print('Error:', stderr)
finally:
client.close()
video = cv2.VideoCapture(0)
consec_detections = 0
while True:
ret, frame = video.read()
result = CLIENT.infer(frame, model_id="drop-of-a-a-hat/2")
if 'predictions' in result and len(result['predictions']) > 0:
consec_detections += 1
else:
consec_detections = 0
if consec_detections >= 3:
ssh_execute('raspberry.local', 22, 'pi', 'raspberry', 'python3 dropHat.py')
consec_detections = 0
time.sleep(1)
Die große Vision
- Vision: Eine Welt, in der beim Spaziergang durch New York alles, was man braucht, aus Fenstern herunterfällt.
- Ziel: Sich als erstes Beispiel für „Window Shopping“ etablieren.
Meinung von GN⁺
- Interessanter Punkt: Es wird ein kreatives Geschäftsmodell vorgestellt, das AI und IoT kombiniert.
- Aspekte für eine Einführung: Fensterkonstruktion und Sicherheitsfragen müssen im Vorfeld gründlich geprüft werden.
- Technische Herausforderung: Die Genauigkeit des AI-Modells und die Leistung der Echtzeitverarbeitung sind entscheidend.
- Ähnliche Projekte: Das Konzept könnte ähnlich wie Drohnenlieferdienste erweitert werden.
- Gesellschaftliche Auswirkungen: Es könnte den Komfort des Stadtlebens erhöhen und zugleich neue Formen des Handels schaffen.
1 Kommentare
Hacker-News-Kommentare