Akida™ PCIe Board - What have you done & how did you do it?

Jasonk

Regular

Part 2​

Design and operation of a Prophesee event-based GenX320 Camera.​

The event-based camera selected for the technical analysis is the Prophesee's GenX320 Metavision sensor, launched on the 16th of October, 2023 [9]—the GenX320 designs inspired by the human eye, as shown in Figure 5. The illustration depicts light passing through the eye's lens, striking individual photoreceptors, and being interpreted into electrical signals for processing by the cortex [10].​

1705630248679.png

With the inspiration of the human eye forming the foundations of the Prophesee GenX320 design, Table 2 provides the key specifications of the GenX320 sensor; this section will aim to demystify the hardware that drives an event camera and associated specifications.​

1705629781003.png



As previously discussed, event cameras can fully utilise a continuous data stream at rates above 10,000 FPS time equivalent and a latency rate of sub-one microseconds. The constant analysis of a dynamic scene can assist in revealing details of hyper-fast dynamic scenes without motion blur, a common issue with standard frame-based cameras [25]. Figure 12 and Figure 13 display the raw data output of an event camera restructured on an X-Y Time-space plot. Figure 13 also depicts a rotating disc sampled to compare an event and standard camera output streams over time to emphasise the distinct difference highlighted in the previous section.​
1705629840822.png

Standard cameras process pixels progressively and synchronously at a fixed FPS and on request by a processing unit. Unlike a standard camera, the latency at which an event camera transfers information is significantly lower due to the reduction of redundant data transmission and the asynchronous operation of a pixel. As shown in Figure 6, the synchronous transmission displays continuous execution of data packets. The synchronous transmission includes relevant and redundant information, whereas the asynchronous transmission of an event camera transmits valuable information only and on demand when required by a triggered event.​
1705629860068.png


With a core understanding of the fundamental operation of an event camera, we can now look deeper into the hardware design that makes the technology possible. The processing flow shown in Figure 6 includes a magnification of the X320 sensor and shows a portion of the 102,400 (320×320) pixels and internal circuit tracks sitting within the 3x4mm sensor [2]. Each pixel comprises a photodiode, the equivalent of a photoreceptor in a human eye and a contrast Change Detector (CD) unit. An individual pixel receives light via the photodiode, generating a current that flows to a logarithmic converter and a voltage outputted once an events triggered for processing into meaningful data.​
1705629901019.png

The role of the CD is to convert a linear current to a logarithmic voltage; the event camera perceives the light intensity similarly to that of a human eye, which measures light intensity logarithmically [17]. The output response, measured in decibels (dB), is a logarithmic measure of energy and quantifies the dynamic range of light intensity in which GenX320 can operate [18]. To provide context to the complexity and miniaturisation of the CD unit depicted in Figure 7, an AN-30 Log converter was produced by Texas Instruments [19]. The circuit does not need to be understood. The operation of the CD unit will not be covered in detail as the actual design of the GenX320 is commercially sensitive, providing little detail to the actual design. Summarised, a small change in low light levels and a large change in high light levels produce similar changes in voltage and allow a pixel to respond effectively over a broad range of light intensities.​

1705630956208.png
On triggering an event, a pixel will demand a readout to occur. The row arbiter will select the row (Y) on a first-come-first-served basis. The triggered pixels from each CD unit are enabled for transmission on a selected row's pixel array to the readout unit depicted in Figure 9. Active pixels are stored in an array of X coordinates and assigned with the same timestamp by the readout unit. At this point, each retrieved pixel is separated into a unique event. The event is assigned a data packet containing the X-Y coordinate (X, Y), increase or decrease in intensity (Polarity, P), and timestamp (microseconds, T) in the format [X, Y, P, T]. The recorded event data from the readout unit is transmitted to a central, graphics, or neuromorphic processing unit for use by the wider application, as shown in Figure 10.​

1705630152138.png


In summary of sections one and two, we fundamentally explain each camera type, associated characteristics, benefits, and shortcomings. We have delved into how an event camera mimics the human eye, what drives the critical specifications detailed in Table 2, and the hardware-level design and operation of the Prophesee GenX320 event-based camera. The following section will cover the camera software-related configurations and simulation of recorded RAW data in Metavision Studio.​



Reference


[9] Prophesee Releases Fifth-Generation GenX320 Event-based Metavision Sensor (ts2.pl)

[10] Prophesees Metavision Training Video

[11] What is Event-Based Vision | Metavision by Prophesee 00:30

[12] What is Event-Based Vision | Metavision by Prophesee 00:40

[13] What is Event-Based Vision | Metavision by Prophesee 01:00

[14] GenX320_Sensor_Size_Branded_CES_Web_3-1.jpg (1440×1440) (prophesee.ai)

[15] What is Event-Based Vision | Metavision by Prophesee 01:31

[16] What is Event-Based Vision | Metavision by Prophesee 01:31

[17] logs and the human eye

[18] Log dB of the eye

[19] Texas Instrument AN-Log Converter 100 db

[20] Event-Based Metavision® Sensor GENX320 | PROPHESEE

[21] What is Event-Based Vision | Metavision by Prophesee 06:13

[22] Event-Based Metavision® Sensor GENX320 | PROPHESEE

[23] What is Event-Based Vision | Metavision by Prophesee 07:08

[24] What is Event-Based Vision | Metavision by Prophesee 04:34

[25] Event-Based Metavision® Sensor GENX320 | PROPHESEE

[26] Metavision-XY Time Space Plot
 

Attachments

  • 1705629974868.png
    1705629974868.png
    83.1 KB · Views: 22
  • 1705629944011.png
    1705629944011.png
    22.7 KB · Views: 22
Last edited:
  • Like
  • Love
  • Fire
Reactions: 11 users

Jasonk

Regular
Update: if anyone attemps this project purchase the SM32F series not the L series, will save you some code issues. Jumped the gun on the buy button.

First step....
Phrophesee GenX320 event camera
Akida 1000 PCIe
STM32L496G-DISC Dev Board


20240119_163718.jpg
 
Last edited:
  • Like
  • Love
  • Fire
Reactions: 16 users

Kachoo

Regular
  • Haha
  • Fire
Reactions: 5 users

Jasonk

Regular
Our verification engineer expects a full report on Monday morning!
🤣 I'll be happy if I get the interfacing sorted. Just edited previous post from 1500 back to a akida 1000.. jumping the gun.
 
  • Love
  • Like
Reactions: 3 users

Esq.111

Fascinatingly Intuitive.
Evening Jasonk ,

Sterling effort & very much looking foward to the completed results .

Appreciate an enquiring mind , thankyou for sharing.

Regards,
Esq.
 
  • Like
  • Fire
  • Love
Reactions: 5 users

wasMADX

Regular
Hey Jasonk. See post #21 on this thread back in 2022 by WJK200SX . Is that you and you've morphed?
 

Jasonk

Regular
Evening Jasonk ,

Sterling effort & very much looking foward to the completed results .

Appreciate an enquiring mind , thankyou for sharing.

Regards,
Esq.
Hopefully if I can give clear direction and make it easy for others to jump on board and give it ago.
 
  • Like
  • Love
Reactions: 4 users

Jasonk

Regular
Hey Jasonk. See post #21 on this thread back in 2022 by WJK200SX . Is that you and you've morphed?
Na, same account since day one. @wasMADX. I would like to know if he managed to pull a project off.

I just wish brn would make a module for arduino I do think people would pay a decent amount.
 
Last edited:
  • Like
Reactions: 2 users

RHanneman

Emerged
Na, same account since day one. @wasMADX. I would like to know if he managed to pull a project off.

I just wish brn would back a module for arduino I do think people would pay a decent amount.
They have mentioned that they might make a USB dongle or Raspberry Pi HAT in the past. Haven't heard anything more about that in a while though. Given that the Raspberry Pi 5 just came out I think it could be possible that akida ip is just integrated into the Raspberry Pi 6 directly rather than as an add on module.

Apparently they will be producing some akida 2.0 chips in 2024 and some of these may end up in a new round of developer pcie cards.
 
  • Like
Reactions: 2 users

SERA2g

Founding Member
Update: if anyone attemps this project purchase the SM32F series not the L series, will save you some code issues. Jumped the gun on the buy button.

First step....
Phrophesee GenX320 event camera
Akida 1000 PCIe
STM32L496G-DISC Dev Board


View attachment 54703
How much did this full kit set you back if you don't mind me asking?
 
  • Like
Reactions: 3 users

Jasonk

Regular
Just to post a quick update. The correct board STM32F746 arrived and attached is the unconfigured view of the camera operating. It did not take to long to setup on the correct dev board. The code was a provided sample by Prophesee and worked straight away. Only issue was connectioning the dev board for the first time to the laptop which was resolved quickly.

The event based camera costed around 1300 AUD and the dev board was around 100 dollars for those interested.

I'll do a write up soon along with the next section covering configuration options. Bit busy at the moment so slightly behind target.

20240205_215713.jpg


The 320x320 camera is operating between 1000 - 2500 k events/second at 2.9 mW avg.

Wake mode on hand gesture 1.4mW.
20240205_222033.jpg
 
Last edited:
  • Like
  • Love
Reactions: 13 users

Damo4

Regular
Just to post a quick update. The correct board STM32F746 arrived and attached is the unconfigured view of the camera operating. It did not take to long to setup on the correct dev board. The code was a provided sample by Prophesee and worked straight away. Only issue was connectioning the dev board for the first time to the laptop which was resolved quickly.

The event based camera costed around 1300 AUD and the dev board was around 100 dollars for those interested.

I'll do a write up soon along with the next section covering configuration options. Bit busy at the moment so slightly behind target.

View attachment 55968

The 320x320 camera is operating between 1000 - 2500 k events/second at 2.9 mW avg.

Wake mode on hand gesture 1.4mW.
View attachment 55969

Hi Jason, if you have time, does the following comment relate to hardware limitations like clock speeds,/ read ,write speeds, or is it configurable and this is a sweet spot for your needs?

"The 320x320 camera is operating between 1000 - 2500 k events/second at 2.9 mW avg."
 
  • Like
Reactions: 3 users

Jasonk

Regular
Hi Jason, if you have time, does the following comment relate to hardware limitations like clock speeds,/ read ,write speeds, or is it configurable and this is a sweet spot for your needs?

"The 320x320 camera is operating between 1000 - 2500 k events/second at 2.9 mW avg."
@Damo4 This was straight out of the box unconfigured example provided for the dev board and event camera supplied by Prophesee.

I have a 100MHz dev board and a 200Mhz (of the top of my head) I will try the camera on both over time. I would assume the camera would be taking the dev board clock speed into consideration and eventually the on-board processing for the camera module would have a limitation. I'll be looking into this more and providing further detail.

The camera has 4 main software configurations of which I'll have a play with and record the results.
 
  • Love
  • Like
Reactions: 4 users
Top Bottom