Processor 117 may include one or more processors of any type, such as central processing units (CPUs), graphics processing units (GPUs), special-purpose signal or image processors, field-programmable gate arrays (FPGAs), tensor processing units (TPUs), and so forth. For brevity purposes processor 117 is depicted in FIG. 1 as a single device, but it is appreciated that processor 117 can also be distributed across any number of devices.
Display 118 may be implemented using any suitable technology, such as LCD, LED, OLED, TFT, Plasma, etc. In some implementations, display 118 may be a touch-sensitive display (a touchscreen).
As illustrated in FIG. 1, image analysis system 100 may also include a superpixel generator 110, a feature extractor 111, a clustering engine 112, a storage interface 113, a graph engine 114, and a user-interface module 115. While these modules are depicted in FIG. 1 as standalone modules, it will be evident to persons having ordinary skill in the art that each module may instead be implemented as a number of sub-modules, and that in some embodiments any two or more modules can be combined into a single module. Furthermore, in some embodiments, system 100 may include additional engines and modules (e.g., input devices, networking and communication modules, etc.) not depicted in FIG. 1 for brevity. Furthermore, in some embodiments, some of the blocks depicted in FIG. 1 may be disabled or omitted. As will be discussed in more detail below, the functionality of some or all modules of system 100 can be implemented in hardware, software, firmware, or as any combination thereof.