Open Computer Vision with OpenCV, Apache NiFi, TensorFlow, Python
For processing images from IoT devices like Raspberry Pis, NVidia Jetson TX1, NanoPi Duos, and more that are equipped with attached cameras or external USB webcams, we use Python to interface via OpenCV and PiCamera. From there we run image processing at the edge on these IoT device using OpenCV and TensorFlow to determine attributes and image analytics. Apache MiniFi coordinates running these Python scripts and decides when and what to send from that analysis and the image to a remote Apache NiFi server for additional processing.
At the Apache NiFi cluster, in the cluster it routes the images to one processing path and the JSON encoded metadata to another flow. The JSON data (with its schema referenced from a central Schema Registry) is routed using Record Processing and SQL. This data in enriched and augmented before conversion to AVRO to be sent via Apache Kafka to SAM. Streaming Analytics Manager then does deeper processing on this stream and others including weather and twitter to determine what should be done on this data. https://github.com/tspannhw/OpenSourceComputerVision http://dataworkssummit.com/ San Jose 2018 DWS18