Raspberry Pi brengt AI Camera met Sony-sensor uit

Raspberry Pi brengt de AI Camera-module uit. De module beschikt over de IMX500 Intelligent Vision Sensor, een 12-megapixelsensor van Sony. De AI Camera kan op alle Raspberry Pi-varianten aangesloten worden. De module kost zeventig dollar; er is geen europrijs bekend.

De cameramodule is in tegenstelling tot eerdere camera's van het bedrijf specifiek ontwikkeld voor AI-toepassingen, aldus het bedrijf. De module bestaat uit een pcb met een 12-megapixelcamera, die de geschoten beelden naar een AI-accelerator stuurt. Alle Raspberry Pi's gebruiken hiervoor het I2C-protocol, op de Raspberry Pi 5 na. Die zou een 'aanzienlijk sneller protocol' gebruiken. De modellen hebben toegang tot 16MB op het pcb aangesloten flashgeheugen. De camera wordt aangestuurd door een RP2040-microcontroller. De verwerkte beelden worden door een geïntegreerde image signal processor naar de aangesloten 'host-Pi' gestuurd.

De AI-camera kan beelden in twee formaten opnemen, namelijk in 4056x3040 pixels met een framerate van 10fps en in 2028x1520 pixels met 30fps. De lens heeft een kijkhoek van 78 graden, die handmatig aan te passen is.

raspberry pi ai cameraraspberry pi ai cameraraspberry pi ai cameraraspberry pi ai camera

Door Yannick Spinner

Redacteur

30-09-2024 • 15:13

36

Submitter: MilanMeu

Lees meer

Reacties (36)

36
36
15
0
0
20
Wijzig sortering
Waarom allen raspberry pi, had toch usb gekozen
Je moet ergens dat video op een USB bus coderen. Daar heb je een cpu voor nodig die aan de ene kant tegen een camerabus aan kan praten en aan de andere kant USB kan praten. Dat kan dus vrij goed met een RPi.
Hoeft toch niet per se via usb bus? Uit het gelinkte artikel wordt gesuggereerd dat ze een andere bus gebruiken:

"Once the neural network model has processed the frame, its output is transferred to the host Raspberry Pi together with the Bayer frame over the CSI-2 camera bus."
@koelpasta reageerde op @Anoniem: 80910's suggestie om er USB van te maken.
Nou ben ik niet helemaal bekend met deze materie, maar wat ik ervan begrijp (en corrigeer me als het niet klopt), is dat nu de decodering op de camera zelf gebeurd en de ruwe videostroom door de ICS2-bus wordt verwerkt.

Kan ditzelfde niet meer USB? Dus dat de codering op de camera gebeurd en dat er alleen een videostroom wordt opgestuurd?

Edit:
Ik vraag dit omdat, vanwege waar ik vroeger mee werkte. Namelijk ‘softmodems’. In de tijd van ‘inbel-internet’, had je uiteraard een modem nodig. Op een gegeven moment kwamen er goedkopere ‘softmodems’ op de markt. In plaats van dat die een eigen processor hadden, maakten ze gebruik van de CPU op het moederbord voor de verwerking van de akoestische signalen om te zetten naar een digitale datastroom.
(Ofwel, als je processor het een langere tijd druk had, ging je modem op 😊).

Ofwel. Kun je USB-bus/pi-CPU niet ontlasten door de verwerking primair op de cameramodule te laten doen.

[Reactie gewijzigd door lenwar op 1 oktober 2024 08:11]

Kan ditzelfde niet meer USB? Dus dat de codering op de camera gebeurd en dat er alleen een videostroom wordt opgestuurd?
Ja, dat heet dan een USB camera.. :)
Maar deze is bedoelt om op een RPi te worden aangesloten. Daarvandaan kun je het eventueel naar een USB stream coderen.
Ofwel. Kun je USB-bus/pi-CPU niet ontlasten door de verwerking primair op de cameramodule te laten doen.
Op zich kan dat. Maar in dit verhaal speelt die RPi de rol van die CPU die de primaire verwerking doet (en eigenlijk zo te lezen secundaire, omdat er ook nog een kleine cpu op die cameramodule zelf zit).\
Zie het alsof je de door jouw gewenste module in tweeen deelt, 1x de camera en 1x de CPU die het naar USB omzet. Samen kunnen ze wat jij wilt, mits de RPi correct geprogrammeerd wordt.

Overigens is dit niet een gewone video camera. Het heeft een vrij lage framerate en is eigenlijk bedoelt als een optische sensor en niet om mooie beelden mee te schieten.
That defeats the purpose
Interessant. Momenteel detecteer ik katten in m'n tuin met een gefinetuned YoloV10 nano model. Dat gaat zeker niet met 30fps op de pi5. Ik doe al een voorselectie dmv motion die beweging detecteert, en dan filter ik nog wat op positie, gezien katten doorgaans niet vliegen.

Ik ben wel benieuwd of en hoe je de modellen hiervoor zelf nog kunt trainen. De .rpk extensie zegt me zo niet iets. En uit ervaring merk ik dat een algemeen model nou niet per se goed presteert.

Zo wordt een plauzige kat meestal als beer aangemerkt, een een smoking kat weer als koe :) En m'n buiten sloffen waren ook altijd katten. Door zelf te finetunen (7500 afbeeldingen met kat, 7500 zonder) heb ik nu vrijwel geen false positives meer.

Met 30 fps zou ik nog eens een waterpistool kunnen richten op de kat die altijd ruzie maakt met m'n lievelingsbuurtkat... En die "beer" die alleen maar komt schijten mag ook wel een douche krijgen.
Goalkeeper voor "vijandige" katten? Ik zie een markt.
Hier een potentiële klant.
gezien katten doorgaans niet vliegen.
Zo zul je dus nooit sailcat kunnen detecteren.
En zo begint Skynet dan echt, versie 1 van de terminator schiet mensen alleen nog in de voet, in hun buitensloffen om precies te zijn }>
... en bij gebrek aan wat echte vuurkracht hardware, ook enkel nog met een straal water. En blij dat wij mensen ermee zijn, want het werkt ook prima op ongewenste katten :o

[Reactie gewijzigd door OruBLMsFrl op 30 september 2024 21:28]

Haha, ik doe precies hetzelfde maar dan met een Intel Nuc gen 12. Heb op basis daarvan het voederschema van mijn kat aangepast zodat ik daadwerkelijk mijn kat voeder ipv de hele buurt. Gevolg is dat zelfs zonder waterpistool de andere katten niet vaak meer langskomen omdat er om dat moment simpelweg geen voer meer is.
Oh nice :) Heb ook gehoord van iemand die zo kijkt of de kat niet een dooie muis of vogel bij zicht heeft, zo ja, dan gaat het luikje niet open.

Voor de goede orde, zelf heb ik geen kat.
Hi Steveman,
lijkt me wel nice, kun je het model/code delen?
https://github.com/steveman1982/cates

Ik laat motion dus een POST doen naar de flask endpoint met het model. Zie motion.conf "on_picture_save"

Ik heb al een tijdje die github remote niet bijgewerkt, (voor m'n niet-public dingen gebruik ik bitbucket).

Hier m'n meest recente weights, da's een YoloV10 nano. Denk dat je de requirements.txt even aan moet passen om die te gebruiken.
https://zippyshare.day/gYBQnyhqWC3XQGI/file md5sum: 390ab1c7931d6848d8aa669d5fdcdd66

YoloV8 nano, zou gelijk moeten werken met de ultralytics versie in de github repo.
https://zippyshare.day/Er3F2HFKvsOLpd1/file md5sum: 7fc4d47bb4c0b76b6943ad57281c328e

Voor het standaardmodel van ultralytics zelf kun je simpelweg "yolov8n.pt" invullen, downloadt ie dan vanzelf. Moet je even opzoeken welke categorie index de kat is.

Bij het bouwen van de image was het wat gestoei om de headless opencv library er in te krijgen. Uiteindelijk gelukt door vanuit de container de juiste lib te pip installen, en een docker commit te doen om er een image van te maken.

Wanneer ik er aan denk zal ik die github repo weer eens bijwerken...

[Reactie gewijzigd door steveman op 1 oktober 2024 09:59]

Hoe verhoud dit tot the Raspberry Pi AI Kit, ik snap dat die laatste alleen een accelerator is (heb die zelf al), maar wat maakt deze camera een AI camera? zit er een accelerator op of kan deze goed gecombineerd worden met de AI Kit? Of juist niet? Is het software matig?

Iemand al een idee?

Edit:
Ik kan iets meer informatie vinden op:

https://www.raspberrypi.c...pi-ai-camera-on-sale-now/

Dus de Camera heeft zelf een accelerator aan boord, dit is dus niet te combineren met de AI Kit (behalve dat je dan de accelerator van de camera niet gebruikt).

Grote verschil:

AI Kit is alleen voor Raspberry Pi 5, de AI Camera is voor verschillende Raspberry Pi versies. De AI Kit kan grotere modellen aan maar ook niet computer vision modellen in tegen stelling tot de AI Camera. Beide bedienen dus een andere markt.

Als je de AI Kit combineert met een camera lijkt deze overigens wel zwaardere modellen aan te kunnen.

[Reactie gewijzigd door ronaldmathies op 30 september 2024 15:33]

Lees het originele bericht eens, dan wordt dat duidelijk. Link in het artikel.
Interessant, zou dit zo in te stellen zijn dat deze het type voertuig kan herkennen? Of de kentekens van voorbij komende auto's kan registeren? Zodat ik bijvoorbeeld in een simpele overzichtje kan zien hoe vaak een bepaalde voertuig/kenteken langs rijdt. (Even privacy en wetgeven terzijde).
ja, maar waarom heb je daar deze camera voor nodig?
He projecten gezien die dit doen met een RPI4 en een €12,- camera. Dat scheelt nogal.
Deze zal het waarschijnlijk sneller verwerken, maar toch zou ik dat niet hiermee oppakken.
https://www.reddit.com/r/...using_raspberry_pi/?tl=nl
Anoniem: 454358 30 september 2024 16:13
Leuk, ik wou dat ik weer wat tijd had voor die hobby projectjes
Nou jongens, laat dat eerste hobby project maar komen waarmee je de parkeerbeheer auto's herkent en de parkeermeter aanzet.

Onethisch of niet, je weet dat iemand dit gaat doen.

O wacht... Het is er al

Maar nu kun je het volledig autonoom bouwen.
Die camera lijkt me optimaal om met een drone zonder GPS militaire doelwitten te gaan aanvallen zonder dat stoorzenders die drone kunnen afleiden. Dat lijkt me toepasbaar vooral voor de Oekraïners! Hopelijk krijgen die laatsten voorrang voor het gebruik van deze technologie.
Helaas hebben de Russen geen tekort aan technisch materiaal.
Veel mensen denken misschien dat het enige dat uit China komt spullen van de Action zijn en dat China hoogwaardig spul alleen uit het buitenland haalt.
Maar dan moet je maar eens in een auto van het merk Nio gaan zitten waarvan alles op Chinese bodem is gemaakt.
En dat land levert spullen aan de Russen!
Dus leuk idee voor Oekraïne, maar het lost niks op.
De Chinezen zijn echt wel terughoudend om hele geavanceerde zaken aan Rusland te geven. Dat het "bondgenoten" zijn is meer van de orde "de vijand van mijn vijand, is mijn vriend", in dit geval "het Westen" (wat je daar ook onder mag verstaan in het geval van de Chinezen).
De Chinezen zijn maar wat bang dat ze voorbijgestreefd worden door de Russen op sommige gebieden, en ze hebben ze voorlopig ook nog wel echt nodig (vooral grondstoffen zoals gas en olie).
Bijvoorbeeld, China zou in één klap het tankprobleem van de Russen kunnen oplossen. Maar dat doen ze niet. Hoe erg een bondgenoot is het dan?
Rusland en China kunnen nog wel eens een robbertje vechten over grensgebieden etc.

[Reactie gewijzigd door William_H op 1 oktober 2024 01:17]

Alles wat maar iets aan intelligentie heeft noemen we tegenwoordig AI want anders klinkt het te oudbollig?
umm de I in AI staat voor inteligentie?
Dat is gewoon hoe het heet.
Toevallig net een reactie geschreven onder de Tweakers podcast die hier relevant voor is. Het artikel hierboven gaat grotendeels over computer vision, wat eenvoudigweg binnen het bredere onderzoeksveld van AI valt. Maar... gezien het begrip uit de jaren '50 komt, ben je met je opmerking eerder 'hip' dan oudbollig.

Quote van die tekst:
Rond 06:50
Dit is gewon wat ze vroeger machine learning noemde en wat nu ook gewoon AI heet, want sexy.
Natuurlijk zit er tegenwoordig bij sommige producten een flinke AI-marketing over producten, maar AI is gewoon een onderzoeksgebied dat al sinds de jaren 1950 bestaat. De term 'machine learning' valt eigenlijk onder de bredere paraplu van AI en verwijst specifiek naar technieken waarbij systemen patronen uit data leren zonder expliciete programmering. AI zelf verwijst onderzoek naar het vermogen van machines om taken uit te voeren die typisch 'menselijke' intelligentie vereisen, zoals redeneren, leren, patroonherkenning, probleemoplossing en besluitvorming. AI-systemen kunnen worden ontworpen om specifieke problemen op te lossen, om bredere intellectuele taken aan te pakken of gewoon alles bij elkaar.
The field of AI research was founded at a workshop held on the campus of Dartmouth College during the summer of 1956.
Bron: Wikipedia: History of artificial intelligence
en
The term AI itself was coined at a workshop at Dartmouth College in 1956, organized by the computer scientist John McCarthy who later became a professor at Stanford.
Bron: https://www.sciencedirect...abs/pii/S0007681318301393

Een nuttige visualisatie van wat onder de brede paraplu van AI valt, kan worden gevonden in dit schema. Het toont een uitgebreid overzicht van de verschillende subgebieden binnen AI, waaronder expert systems, fuzzy logic en neurale netwerken, wat helpt om de diversiteit aan methoden binnen het vakgebied te benadrukken. Een meer gedetailleerde weergave van machine learning, deep learning en computer vision is te zien in dit tweede schema. Deze diagrammen helpen om te laten zien hoe AI een breed vakgebied is, maar beide geven slechts een deel van de vele facetten van AI weer.

Hier nog een overzicht van het Joint Research Centre. AI is een breed vakgebied met vele specialisaties en methoden, variërend van theoretische modellen tot praktische toepassingen. Het toont de diversiteit aan benaderingen binnen AI, van symbolische systemen zoals expert systems tot neurale netwerken en evolutie-geïnspireerde algoritmen. Door de toename van rekenkracht in GPU’s, CPU’s en gespecialiseerde hardware zoals NPU’s is het veld de afgelopen jaren flink geëxplodeerd.

Een veelvoorkomende misvatting is dat alleen de meest geavanceerde (of bij het publiek bekende) toepassingen zoals neurale netwerken of zelflerende systemen onder de noemer AI vallen. In werkelijkheid behoren ook subgebieden zoals expert systems, fuzzy logic, en zelfs simpele regelgebaseerde systemen al decennia lang tot het bredere vakgebied van kunstmatige intelligentie. Iets kan al snel onder AI vallen, maar omdat het zo'n breed begrip is, zegt dat op zichzelf niet veel over de complexiteit of de aard van de technologie.

Zo valt lineaire algebra, dat zich bezighoudt met vectoren en matrices, binnen het bredere vakgebied van algebra, dat op zijn beurt een fundamentele tak is van de wiskunde. Het voorbeeld van de röntgenscan dat jullie noemen, valt ook binnen een subgebied van AI. Hierbij gaat het vaak om toepassingen van beeldherkenning en patroonherkenning, die onderdeel zijn van machine learning en computer vision, subdisciplines die onder het bredere veld van kunstmatige intelligentie vallen.

Hoewel de term 'AI' tegenwoordig dus vaak breder wordt gebruikt in productmarketing en soms in de media synoniem lijkt te zijn met machine learning, ChatGPT of Terminator blijft AI in academische en technische kringen een zeer divers onderzoeksveld. AI is altijd een breder onderzoeksgebied geweest, en machine learning is altijd een subdiscipline ervan geweest. En dan heb ik het nog niet eens gehad over ANI, AGI en ASI.

Reeds geplaatst een 2,5 uur geleden:
jdh009 in 'Tweakers Podcast #340 - Reviewproblemen, Telegram-data en ringbevindingen'

[Reactie gewijzigd door jdh009 op 30 september 2024 16:16]

En daar moet natuurlijk hard over geklaagd worden anders is het geen Tweakers.

Gelukkig zijn er ook veel Tweakers die het nieuwsartikelen lezen en echte A.I. van marketing A.I. kunnen onderscheiden.
Is het? De ene tweaker is de andere niet...
Het is gewoon een trend geworden om alles de term "AI" mee te geven en ja, ik weet dat de term al lang bestaat maar daar waar bv een robot stofzuiger maar een simpel ding is durven ze vandaag de dag daar ook wel een AI label aan te hangen. Waar ligt de grens van slim/intelligent en een echte AI?
Daarnaast was het voorheen de software die objecten herkende en dat noemden ze niet een AI.

[Reactie gewijzigd door memphis op 30 september 2024 19:58]

Fuzzy logic uit de jaren ‘80 zouden ze nu ook AI noemen :P
Tja, het voornaamste wat "AI" tegenwoordig kan is patroon herkenning. En dat is juist iets wat je met de beelden van deze camera heel goed zou kunnen.
De module bestaat uit een pcb met een 12-megapixelcamera, die de geschoten beelden naar een AI-accelerator stuurt. Alle Raspberry Pi's gebruiken hiervoor het I2C-protocol, op de Raspberry Pi 5 na. Die zou een 'aanzienlijk sneller protocol' gebruiken.
Nee, de I2C link / custom two-wire-protocol link is voor het uploaden van de AI-modellen van de Pi naar de camera-module. De AI-accelerator zit direct in de sensorchip gebakken en heeft daardoor geen aparte link met de sensor nodig. De beelden worden na processing gewoon met MIPI CSI-2 naar de Pi verzonden.
Bedankt. Ik dacht al meteen, wat the fuck. I2C is veel te traag voor beelden.
Man, kom dan met een interessanter filmpje zeg. Iets wat echt laat zien hoeveel objecten het kan detecteren in diverse situaties.

Op dit item kan niet meer gereageerd worden.