Home
Hi Leslie, it is documented in the source code for CochleaAMS1c. I recommend using the "Find usages" for the event class and to look in the javadoc I wrote. I tried to put down the precise definitiions as I developed that class and the EventExtractor for it. Hope this helps. Let me know if you need more tips about it.
Hi Konstantin probably you don't want to use this code, since it outputs AER-DAT-3.1 format data, which jaer is not very good at reading yet. It is pretty simple to write an AER-DAT-2.0 file if all you want are DVS events from a particular sensor. You just need a header line followed by binary data of timestamp,address pairs, each of which are 32-bit big endian fixed point numbers. The timestamps are in us. The addresses encode the DVS events with x, y and polarity bits occupying some bits in the...
Hi Alex, it might be that the script is not normalizing the data right or that in AEViewer the AutoContrast is turned on. Try toggling AEViewer AutoContrast from the DAVIS menu (shortcut shift-C). The control tab for AutoContrast is a tab in the HardwareConfiguration window. This algorithm is just something I wrote to lowpass filter the low and high limits of video and use these to scale the output to fill the 0-1 range of display. I haven't looked at the script but I'm sure there is a number there...
I agree with Luca. Using libcaer would be a great solution for basic camera applications. I expect that jaer will eventually interface to hardware the same way, using libcaer API. Tobi Delbruck, www.ini.uzh.ch/~ tobi, Swiss cell +41766291500, USA cell +16265102646 On June 4, 2017 7:46:40 PM GMT+08:00, Luca Longinotti llongi@users.sf.net wrote: Tobi already explained how jAER works and what parts to look at, though for what you want to do, just get data from the camera and send it off to a PCI-Express...
The instruction below from Luca Longinotti were very helpful to me to migrate my working copy to the github repo https://github.com/SensorsINI/jaer. For Windows users, install Git For Windows https://git-scm.com/download/win and then I can highly recommend TortoiseGit as client https://tortoisegit.org/ it also has some useful documentation https://tortoisegit.org/docs/tortoisegit/ remember to always set your name and e-mail correctly in your Git client! You can then create a user on GitHub and associate...
Timo, PS, did you realize that jaer moved to github? Please have a look at the the announcement on http://jaerproject.org For migrating, Luca's instructions were very useful for me: For Windows users, install Git For Windows https://git-scm.com/download/win and then I can highly recommend TortoiseGit as client https://tortoisegit.org/ it also has some useful documentation https://tortoisegit.org/docs/tortoisegit/ remember to always set your name and e-mail correctly in your Git client! You can then...
Timo, in short, it's complicated. One the data starts flowing it is not so complicated (it all flows through the translateEvents() method), The device setup is complicated because a lot of configuration needs to be sent to the camera to set the on-chip bias generator registers, other on-chip registers, and also the off-chip (CPLD or FPGA) registers. All of this stuff in jaer is centralized in the AEChip's Biasgen object (which historically was just an on-chip bias generators but nowadays encapsulated...
Hi Daniel, did you realize that jaer has migrated to githib? The changes to make jaer compatible with latest firmware may not have made it into the final jaer on sourceforge before commits there were disabled. In this case you should use git to clone the github jaer. If the changes made it to the sourceforge subversion repo (SVN), then update from there. You might need to recompile jaer after SVN update from sourceforge. You can do that from netbeans with F11 to build the jar (after SVN update)....
Home
improved display of filter action buttons
fixed running cameraCalibration all the time, now only when enabled
there was no camera calibration called, so camera calibration could not undistort the DVS events. Now the calibraiton is run
now computes average possible matching distance and uses this distance as target for feedback controller on slice duration
modified target search distance for feedback control to be halfway instead of 1/4 of the way. Need to implement some count of true average distance of possible matches given numScales and searchDistance.
some change in name of the panel interally
rediuced factor by which a shift-up or shift-down key press changes a float value to allow finer adjustments
properly computes global flow now even if vectors are not shown and measureAccuracy is not selected
removed .pack() on window event to prevent always packing window that requires resizing it.
made max slice duration of AreaEventNumber also a condition for rotating slices, to prevent ridiculously long slices when starting with a static background, for instance, while running adaptsliceduration
cleaned up handling of warning about missing IMU calibration
improved javadoc to use this dialog
fixed steadicam to not filter out the IMU samples so that subsequent filters can still use them, e.g. for calibration or estimating flow
made logging of exposure control optional with persistent boolean flag
uses quantization value of exposure to prevent getting stuck, hopefully.
added method to get quantization value of exposure/frame delay values
Thanks for asking Ruthvik. I bet your monitor is not set to full brightness. Typical LCDs use PWM backlight control. If you set to full brightness the modulation is turned off. Could you try this? Try it also in a laptop. On mine setting full brightness always removes the flicker. But it will depend on type and age of the display. Let us know how it works out and good luck. Tobi
added a global "reset all" button to FilterFrame to allow resetting all filters from top of menu.
changed defaults for good operation in general
really disabled SingleCameraCalibration in all filters by default
had overridded setFiltereEnabled for debugging, gone again
remove setFilterEnabled that disabled camera calibration since this now occurs in super
disable default camera calibration for all motion filters
fixed to not skip over events in checking IMU sample
fixed to not skip over events in checking IMU sample
fixed again the handling of IMU data for measuring accuracy and not skipping events after IMU events. The edits in previous commit were not complete.
improved display of motion vectors to allow option to use relative or absolute flow vector display and separately control display of global flow (but still compute it for relative OF vector display if that option is selected)
now it shows block size and search area temporarily when you change any relevant parameter for block search
Did you manage to sort everything out by using Oracle JDK?
fixed bug in calculateImuFlow where wrong event was used.
fixed the way that all flow filters deal with IMU samples and APS events. There was a bug before that was skipping most IMU samples and events after IMU samples. Now the calibration happens fast (as it should) and the flow seems to be computed correctly.
changed handling to insist on loading IMU calibration before printing statistics of accuracy of flow.
showing warning dialog about IMU calibration in swing thread now, as it should be
better scale bar to bottom
updates to display of flow vectors when global motion is measured. Vectors now autoscale to avoid having to constantly fiddle with ppsScale
Added a scale bar at bottom to show average speed of flow. Added global magnitude of flow vectors statistic.
many fixes to logic, in particular,
added option to show motion vectors in blue rather than color, for papers etc. added option to global flow stats to get average translational speed.
fixed bug in checkArrays() that was contantly reallocating the slice memory arrays
fixed rendeering of areas for area event count, also made sure global subsampling is turned off to avoid memory access error in slice memory
turned off logging of event number control
more logging of slice event count control
added global translational speed method
added new concept to control the event count by feedback control on avg match radius
fixed handling of compute performance statistics to correctly do it even if flag is set during iteration of filters...
fixed bug where performance statistics were only reset for first enabled filter in chain. Added info message to show stats were reset to logging output
added in and then commented out debugging print of area count histograms
fixed handling of buttons
updated classes to better support SEC DVS in GUI to make choices mutually exclusive for cAER/SpiNNaker/SEC
temporarily shows the area count areas now after changing the parameter
there was a bug that anytime the max pix value was set more than 1, then max sad value is now much more than block area, so that the confidence would never be passed for dense input. There is still some question about multiple scales and normalizeing sad values with sliceMaxValue>1
fixed handling of rewind and added check for memory on changing areaEventNumberSubsampling property
implemented notion of counting events in subsampled areas to determine when to rotate slices. Seems to work OK
fixed range checking in sadDistance and also adaptiveEventSkipping to use round rather than truncation for lowpass filter
shows counts of results at each scale of matching for each packet; totally dominated by minsad for full resolution scale
added popmatrix to open gl annotation when there are no flow events
fancied to allow specifying specific scales to compute over
can now show matching bitmaps for all scales
You need to load the bias settings XML file. See https://inilabs.com/support/hardware/biasing/ . Most questions are answered in these guides.
No problem. The rule of thumb is that you need about 10 times as many samples as weights in your DNN. For example, we trained a CNN to recognize the rock/scissors/paper symbols that achieves about 99.3% accuracy on test set. It needed about 110k parameters (weights) and we had about 2 million DVS "images" (64x64 2D histogram images of 2k events each). These were augmented to make about 5M images by flipping them and by using different event counts. So basically you need tons of data that covers in...
fixed to revalidate form after setting text box to show port number 8991 correctly
changed to be same as streamer app
more changes to support SEC DVS streaming via UDP; needs port number to be set properly.
fixed positioning of buttons and tooltip for SEC button
fixed so that Spinnaker and SEC protocols can't both be set true
increase max slice duration to 200ms to accomodate bodo's slow dataset
fixed motion field to have dots at points, even if there is no motion there
changed menu item to show that "performance" means "processing speed"
cleaned up accumulateEvent method
finally squashed the multiscale bug where the scale was used to fetch a timeslice by mistake, from leftover multislice code!!!
added hashmap to that counter for attempting to resize frames is window-specific, so that filter GUI size can be preserved between runs
still buggy dammit
removed debug to search over only scales>=1
fixed more bugs but still search at 2nd scale points in wrong direction
fixed handling change of scale to properly set currentSlice after changing slices arrays to avoid null pointer
Thanks for pointing this out Viktor. I have fixed up jAER tooltips to clarify scope of these options. You can use software BackgroundActivityFilter in jAER to achieve some function at low overhead (maybe 40ns per event on a PC). Tobi On 5/3/2017 9:30 PM, Viktor Bahr wrote: Hi :) when I played around with chip biases of our DAVIS240C I stumbled upon the 'DVS.FilterBackgroundActivity' in the 'DVS Config' panel. Activating it as well as changing the deltaT didn't affect incoming events at all. Whats...
clarified tooltips to show scope of background filter options
fixed bug where float was set to Integer.MAX_VALUE and not Float.MAX_VALUE so min was never chosen!!!
major changes to include use of multiple scales of computing the flow. Still buggy, see TODOs
Hi Bimal, thanks for asking. You should definitely load some default biases, either DVS128Fast or DVS128Slow. Fast if you want higher bandwidth, slow if you have less light or otherwise want to reduce noise a bit. Then you can play with the sliders in the user friendly control tab of the Hardware Configuration window. There is no explicit setting of the threshold since the actual threshold is determined (approximately) by ratios of bias currents. The threshold T_on for ON events in ln(I) units (i.e....
fix rendering of error to be white and more visiible at bottom of image
I remember now as well, that on the DVS128 chip we have a pin "reqdel" output from the sensor IC that delays the request with inverter chain. But I don't remember the details about how this is wired up on the PAER board. On 4/28/2017 4:14 PM, Federico Corradi wrote: Solved: Shorting req/ack signals of the DAVIS240C directly on the pAER does not work as it is required a delay between req and ack of about 40 to 60 ns. Problem with trying to directly read events from DAVIS240C using the SignalConn Sent...
fixed polarity handling to be correct now
added exe for converting GEN2 SEC DVS files from streamer program to aedat format.
updated javadoc and Descripiton to point to relevant conversion program
clarified comment about CRLF on output stream header lines
added additional diagnositics to print next character in input file after reading header section
more comments about header line ending handling added to help implementers of file conversion utilities
added folder for converting SEC DVS files to jAER format
added end of header string to saveaerdat.m script