Arrêtons le lèche-vitrine et commençons le shopping par la fenêtre !
Comment faire du dropping avec l’IA
- Objectif : exploiter un service qui utilise l’IA pour faire tomber des chapeaux par la fenêtre et les offrir aux habitants de New York.
- Éléments nécessaires : Raspberry Pi, moteur pas à pas Adafruit, ficelle, IA Roboflow, produit léger (par ex. un chapeau à hélice).
Ouvrir la fenêtre
- Problème : la fenêtre ne s’ouvrait que d’environ 4 pouces.
- Solution : résoudre le problème en cherchant sur Google la clé adaptée à cette fenêtre.
Choix du chapeau
- Conditions : un chapeau qui ne blesse personne en tombant et ne gêne pas la circulation.
- Choix : un chapeau à hélice, symbole du futur et qui tombe avec élégance.
Mécanisme de largage
- Configuration : utilisation d’un Raspberry Pi et d’un moteur pas à pas.
- Méthode : enrouler une ficelle autour du moteur pas à pas pour le faire avancer petit à petit.
- Code : code de largage écrit dans un fichier Python.
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))
IA
- Objectif : détecter en temps réel s’il y a une personne sous la fenêtre.
- Méthode : analyser en temps réel le flux vidéo d’une webcam et vérifier si une personne se trouve dans une zone précise.
- Modèle : création d’un modèle de détection d’objets avec Roboflow.
- Code : code de détection et de largage écrit dans un fichier Python.
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)
La vision tant attendue
- Vision : un monde où, en se promenant dans New York, tout ce dont on a besoin tombe des fenêtres.
- Objectif : s’imposer comme le premier exemple de « Window Shopping ».
L’avis de GN⁺
- Point intéressant : propose un modèle économique créatif en combinant IA et IoT.
- Points à considérer pour l’adoption : il faut examiner suffisamment en amont la structure des fenêtres et les questions de sécurité.
- Défi technique : la précision du modèle d’IA et les performances de traitement en temps réel sont essentielles.
- Projet similaire : possibilité d’extension vers un concept proche des services de livraison par drone.
- Impact social : peut accroître le confort de la vie urbaine tout en créant une nouvelle forme de commerce.
1 commentaires
Commentaires Hacker News