Amazing program "YOLO"

Y.O.L.O., acronym for "You Only Look Once" is a new machine learning architecture developed by Joseph Redmon that allows a program to detect and classify objects from video streams in real time.

Let him present it further himself:


The eyes are the mirror of the soul

I have created a deterministic procedural eye iris generator in C++ and Qt. This allows agents to have completely unique iris shape and pattern.

I will integrate this  into the expression code soon, but until then, here are a few screenshots. I think it turned out pretty alright for 2 days work.

UPDATE: Here is a link to the full source code in C++, and here is the test code with the UI you see in the screenshots. Some details on the implementation follows:

  • It uses 2 separate sources of 3D simplex noise, one for the streaks and one for radial perturbation of the streaks.
  • It uses 20 random float parameters plus 2 colors to tweak the parameters of the simplexes (3 parameters each) plus tweak the scaling and offset and other "funky hard-coded equations" to to produce irises that kind of looks real, interesting and diverse without carefully selected boundaries.
  • Rendering is done in a scale invariant way so that the eye can be scaled up "infinitely" wihtout changing its character.
  • Rendering is done in floating point and produces results that go slightly into high dynamic range.
  • It uses filmic2 tone mapping to convert HDR back to normal 8-bit ranges.
  • The code should be fairly portable, both the Simplex implementation and the rendrer itself should only depend on Qt, and porting it away from Qt should be easy.


How to judge a 3D printer.

In this post I want to list the things that matter when you buy a 3D printer:
Creality CR10

Bed sizeWhile many crave a huge print-bed, I have found that most things I print are small. Why? Because most 3D printers are much slower than you think. In fact most points on this list are about speed vs. quality. But if you have a fast printer that prints high quality, or if you really need to print big and have the required patience, then bed-size is still important.
Motor speedHow fast can the motors transport the extruder around the work?
Motor torqueHow fast and steady can the motors accelerate?
Extruder max temperatureWill the extrude cope with the high-temperature filaments?
Extruder temperature stabilityWill the extruder manage to hold temperature steadily during printing, even at higher temperatures?
Extruder temperature speedHow fast will the extruder warm up from room temperature at the start of the print?
Bed max temperatureWill the bed cope with the high-temperature filaments?
Bed temperature stabilityWill the bed manage to hold temperature steadily during printing?
Bed temperature speedHow fast will the bed warm up from room temperature at the start of the print?
Enclsure temperature controlSome filaments like ABS may require the temperature around the work being managed using an enclosure and heater.
Direct vs. Bowden filament feedThe size of the print head directly affects the speed and accuracy of your printer. A big head will slow down and cause the printer to wobble if it is not rigid enough. To get around this many printer manufacturers look for ways to decrease the size of the head. One feature, the "bowden tube" allows the extruder motor to sit on the frame instead of the head. However this reduces the filament capacity somewhat which in turn affects print speed.
Interchangeable extruder headYou might only care about the standard 1.75 mm filament through 0.4 mm nozzle size. However there are lots of options out there when it comes to nozzle sizes. Having an easily interchangeable head/nozzle is desirable, and a printer that can handle the higher heat requirements of a larger nozzle/filament of course.
Multiple extruder headHaving more than one extruder provides some benefits, for example if you are printing with more than one material per part. Example usages are: flexible filament for rubber seals, washable support material, dual color prints etc.
NoiseRemember your printer will be running for a long time. Print times are usually measured in hours, and sometimes in days..
Build quality & basic featuresThis qill require a lot of "getting to know" the printer. Basically all sorts of small practical details such as positioning of the user interface, display size, where is filament dispensed from, how are the wires connected? etc. etc. You can often get an impression of these things by looking at printer reviews on YouTube.


3D Printed case for iMacwear W1 (DM98)

I made a protective case for the W1 Android watch.

iMacwear W1 in protective 3D printed case with servo mount.

The idea was to make a case for it that would protect it while also providing better mounting options. The current version of the case sports a native RC servo horn mount, but I am also looking at different mounting options including a gimbal mount and a simple "screw me on" mount.

I submitted the whole thing on thingiverse here if you want to check out the details. It includes source CAD file, lots of pictures and details etc.