The Konsulko Group will be well represented at February 2018 conferences with members of the team attending:
* FOSDEM Brussels February 3-4
* Automobile Grade Linux All Member Meeting Tokyo February 20-21
* 4YFN & Mobile World Congress Barcelona February 26-March 1
* Embedded World Nuremberg February 27-March 1
Hope to see you there. Please contact us if you’d like to meet up at one of the shows.
https://www.konsulko.com/wp-content/uploads/2018/01/February-2018-Conferences.jpg256300Konsulko Grouphttps://www.konsulko.com/wp-content/uploads/2021/03/KonsulkoGroup-fullcolorlogo-340x156-1.pngKonsulko Group2018-01-29 14:36:332023-05-01 12:04:19Konsulko at February conferences in Europe and Japan
CEO Pete Popov and CTO Matt Porter talk about the Konsulko Group’s 20-years of experience with Embedded Linux, and introduce the Konsulko team.
Created by multimedia director Alex Vlacos, the video was filmed in October 2017 during the Embedded Linux Conference in Prague, where key Konsulko engineers gathered to give technical papers and demonstrate new technology.
https://www.konsulko.com/wp-content/uploads/2017/11/Konsulko-Story-1.png169300Konsulko Grouphttps://www.konsulko.com/wp-content/uploads/2021/03/KonsulkoGroup-fullcolorlogo-340x156-1.pngKonsulko Group2017-11-09 13:38:222023-05-01 12:04:34New video released of “The Konsulko Story”
ELC is the premier vendor-neutral technical conference for companies and developers using Linux in embedded products. Now in its 12th year, the conference gathers user-space developers, product vendors, kernel and systems developers to collaborate.
Senior engineers from the Konsulko Group gave three technical presentations at ELC Europe 2017 in Prague on October 23-25:
Free and Open Source Software Tools for Making Open Source Hardware, Leon Anavi
Building a Remote Control Robot with Automotive Grade Linux, Leon Anavi
State of AGL: Plumbing and Services, Matt Porter & Scott Murray
We also demoed two Automotive Grade Linux (AGL) platforms at the Attendee Reception and Sponsor Showcase on Tuesday, 24th October.
https://www.konsulko.com/wp-content/uploads/2017/09/ELCE-graphic-e1504986024258.png357600Konsulko Grouphttps://www.konsulko.com/wp-content/uploads/2021/03/KonsulkoGroup-fullcolorlogo-340x156-1.pngKonsulko Group2017-10-25 10:55:202020-09-06 09:50:10Konsulko Group presented 3 technical talks at ELCE in Prague
Sofia, Bulgaria – October 23, 2017 – Konsulko Group, a California-based open source software services company, announced today that it has completed the formation of a European subsidiary, Konsulko Ltd, based in Sofia.
“With decades of experience, Konsulko provides expert community and commercial embedded Linux and open source software development worldwide. Our engineers in Sofia have been an important part of our team for the last three years. Finalizing our subsidiary there will allow us to grow more rapidly”, said Konsulko CEO, Pete Popov.
“Security continues to be a growing business for us”, said Matt Porter, CTO, “With our substantial security expertise in Sofia, we’ll be able to further help our customers protect their connected devices from the growing threats of security breaches.”
The new subsidiary is fully operational with offices centrally located in Sofia. Konsulko Ltd. engineers are engaged in major projects with key Konsulko clients in Europe and the USA.
About Konsulko Group
Konsulko helps companies around the world develop successful products, offering consulting, product engineering, support and capability building at every stage of engagement. In addition to open source security, Konsulko engineers have been recognized for their contributions to Automotive Grade Linux and the GENIVI Alliance, and have been active participants in both the OpenEmbedded and Yocto open source projects for many years.
https://www.konsulko.com/wp-content/uploads/2017/10/Konsulko-expands-graphic-smaller.png236300Konsulko Grouphttps://www.konsulko.com/wp-content/uploads/2021/03/KonsulkoGroup-fullcolorlogo-340x156-1.pngKonsulko Group2017-10-23 10:21:092022-11-10 22:39:35Konsulko Group expands open source security practice with launch of European subsidiary in Sofia, Bulgaria
Want to talk open source development with some of the top Embedded Linux engineers in Automotive? The Konsulko Group is proud to be a Silver Sponsor of the semi-annual Automotive Grade Linux All Member Meeting to be held in Dresden, Germany, October 18 & 19, 2017. Join us at our Demo Showcase on Wednesday evening, at Matt Porter and Scott Murray’s talk on Thursday, 13:55 to 14:45, and throughout the conference to learn about our work with API bindings and other FOSS technologies that are critical to AGL’s success. If you are an AGL member, you may sign up for the meeting at http://events.linuxfoundation.org/events/agl-member-meeting-fall/attend/register.
We look forward seeing you in Dresden!
https://www.konsulko.com/wp-content/uploads/2017/09/AGL-Dresden-Siler-Sponsor.png500587Konsulko Grouphttps://www.konsulko.com/wp-content/uploads/2021/03/KonsulkoGroup-fullcolorlogo-340x156-1.pngKonsulko Group2017-09-09 09:15:492020-10-02 14:16:14Konsulko Group sponsors AGL All Member Meeting in Dresden
Leon Anavi of Konsulko Group Honored by GENIVI Alliance
Awarded “Most Valuable Contributor” at All Member Meeting
SAN JOSE, Calif. – Oct. 18, 2016 – Leon Anavi, senior software engineer at Konsulko Group today received a Most Valuable Contributor (MVC) award at the GENIVI All Member Meeting and Open Community Days in Burlingame, Calif.
GENIVI® is a nonprofit industry alliance committed to driving the broad adoption of open source, In-Vehicle Infotainment (IVI) software and providing open technology for the connected car. The alliance provides its members with a global networking community of more than 140 companies, joining connected car stakeholders with world-class developers in a collaborative environment, resulting in free, open source middleware.
The GENIVI MVC award is given to individuals for significant contributions to the work of the alliance. Anavi was nominated by the members of the GENIVI Development Platform (GDP) team for his excellent work on GDP enhancements.
Anavi is an Open Source Software enthusiast and spent more than eight years working on core telephony solutions and mobile applications for mobile network operators before joining Konsulko Group in February 2015. Since then, his focus has been Linux for automotive and upstream contribution to GDP, Automotive Grade Linux (AGL), and the Tizen project.
An experienced leader in community and commercial development, Konsulko Group helps companies around the world build successful products with embedded Linux and open source software, offering consulting, capability, product engineering and support at every stage of every engagement. The Konsulko Group is headquartered in San Jose, Calif.
Media Contact – Konsulko Group:
Peter Popov
Konsulko Group
https://www.konsulko.com/wp-content/uploads/2016/10/genivi-post3-half.jpg26262827Konsulko Grouphttps://www.konsulko.com/wp-content/uploads/2021/03/KonsulkoGroup-fullcolorlogo-340x156-1.pngKonsulko Group2016-10-18 06:05:442023-05-01 12:07:51Leon Anavi of Konsulko Group Honored by GENIVI Alliance
Konsulko Group becomes Linux Foundation Authorized Training Partner Passes strict benchmarks for development experience and teaching quality
SAN JOSE, Calif. – Sept. 30, 2016 – Konsulko Group, with over two decades of embedded Linux and open source software development experience, today announced the company has joined the Linux Foundation Authorized Training Partner (ATP) program, providing standard and customized classes for beginning, intermediate and advanced students, using the Linux Foundation’s high quality developer training materials.
“A primary mission of The Linux Foundation is to make quality open source training and certification as accessible as possible,” said Linux Foundation General Manager of Training and Certification, Clyde Seepersad. “Konsulko has proven experience and reach in the IT training space, which will help even more individuals access these offerings, increase their career prospects, and help close the gap for open source talent.”
“Our instructors are both patient teachers and hands-on pioneers in embedded Linux development, which provides a great classroom experience for students of any skill level,” commented Peter Popov, Konsulko Group CEO and president. “We can also develop and teach custom classes on a variety of open source software topics including automotive, security and the Internet of Things.
An experienced leader in community and commercial development, Konsulko Group helps companies around the world build successful products with embedded Linux and open source software, offering consulting, capability, product engineering and support at every stage of every engagement. The Konsulko Group is headquartered in San Jose, Calif.
https://www.konsulko.com/wp-content/uploads/2016/09/computer-class-clipart-clipart-panda-free-clipart-images-KKfZl2-clipart.gif188250Konsulko Grouphttps://www.konsulko.com/wp-content/uploads/2021/03/KonsulkoGroup-fullcolorlogo-340x156-1.pngKonsulko Group2016-10-03 06:00:032023-05-01 12:08:55Konsulko Group becomes Linux Foundation Authorized Training Partner
As part of an ADAS project using embedded Nvidia GPUs, we are conducting an investigation into the current state of GPGPU support including development, debug, and performance analysis tools starting with Nvidia GPUs. Since large customer proprietary applications can be diffcult to work with, we needed a simpler test case we could modify and extend. We decided to make an open source test application that has some of the charactersitics of a typical production ADAS application. Since there is a lot of public research into lane detection and warning systems, as well as some bits of free software available to leverage in implementation, we chose to make a simple Lane Departure Warning System (LDWS) application.
Lane Departure Warning System Overview
Overview
LDWS is an OSS application which serves as our test bed for GPGPU tool evaluation. The phase 1 version can be found on the ldws-p1 branch in the LDWS repository. LDWS is a C++ application developed using OpenCV 3 and is under a mix of Apache and MIT licenses. Complete build and use documentation can be found in the project README.
Requirements
The phase 1 requirements are:
Run on Linux desktop system with Nvidia GPU
Be written in C/C++
Leverage both OpenCV and existing FOSS lane detection projects
Accept video input from Xle
Detect lanes in video and highlight the current lane
Detect position in lane and warn if crossing lane marker
Lane detection and warning need only be good enough quality to demonstrate concept
Support two different test videos
Support CPU only and OpenCL offload modes via runtime selection
Display realtime and average frames per second
Design
LDWS is implemented as a C++ application leveraging cmake for build, OpenCV 3 for image processing, tclap for command line arg processing, and libconfig++ for configuration file processing. It is composed of a main video handling loop, a configuration storage class, and a lane detection class.
On initialization a config store is instantiated which reads all configuration variables from combination of command line options and configuration file options. A file or capture device is opened to provide the video feed to the video handler. Each video frame is then processed using a sequence of algorithms to detect a set of lines present. Using the detected lines, the ProcessLanes() method of the LaneDetector class then determines lane boundaries and draws the detected boundaries on the video for output. The video handler computes frames per second values and draws the processed video frame before fetching another frame of input video.
During development it was decided it was better to pull a Phase 2 requirement of CUDA support into Phase 1 so LDWS supports runtime switching (via a command line switch) between CPU-only, OpenCL-offload, and CUDA-offload. LDWS displays the mode as CPU, OpenCL, or CUDA during execution as well as the per-frame FPS value measured. At completion of a video input file, LDWS prints the average FPS maintained during the entire run.
The basic image processing algorithms that LDWS employs are:
Select a region of interest that excludes portions of the video above the convergence point of the lane markers.
Hough transform line detector to find all lines in the image
LDWS leverages the lane detection algorithm implemented in the opencv-lane-vehicle-track project and the lane departure warning algorithm implemented in the Python-based Lane Departure Warning project. The lane detection algorithm performs a simple angular filtering of lines followed by a selection of the best line based on distance of points from midpoint. The lane departure sensing using a simple line crossing methodology. A horizontal meter line is drawn on the display with the current crossing points of the detect lane marker edges tracked by dots on each end of the meter. If the positioning dots move too far either direction on the meter then a threshold event indicates that the vechicle is moving out of the lane.
LDWS provides a command line option to enable display of intermediate video frame data during each step of the image processing sequence. These screenshots show the detected edges and lines, respectively, for one frame of video.
Limitations and Improvements
The simple algorithms employed result in only a good enough quality lane detection system. Use of Canny edge and Hough line detection from a vehicle mounted camera perspective is highly susceptible to shadows from trees and other overhead objects on the road as well as being poor in low-light or night conditions. Note the shadows in the following frame on a sunny day.
Notice how the Canny edge detector finds the horizontal edge of the shadows in the region of interest.
The lane detection algorithm itself assumes the vehicle is always at the midpoint on the image which is not the case when changing lanes so the algorithm with vote up lines during lane changes that are not actually lane markers. The result of all of these factors means that the application suffers from losing track of lane markers in all but ideal conditions. The following is an example of it losing sync periodically.
Functional improvements can be made by employing one or more of the following methodologies:
Some or all of these approaches are generally combined with the existing basic Canny edge and Hough transform algorithms for a production grade system.
Performance
Background
Describe three modes of operation and limits of tools.
Summary
Explain perf stat CPU utilization and in-app FPS figures.
Mode
CPU%
FPS
CPU
87.2
339.3
CUDA
87.2
359.8
OpenCL
195.4
235.0
Analysis
The basis of our performance analysis centers around statistical sampling using the Linux perf tool. We start by examining the CPU mode case in the following perf report fragment. The important aspect to note is the top offender in our application with is the call to cv::HoughLinesProbabilistic. That is by far the biggest consumer of CPU cycles in the application. This is completely expected as our lane detection algorithm heavily relies on detecting all lines in each frame of the video feed. You may notice other curious consumers of CPU time in libQt5Gui and libavcodec-ffmpeg.so. These are all products of the display of each resulting frame to the UI and capture/decode of video frames from our source video feed. Since we are only concerned about the portion of our ADAS algorithms that could be offloaded to a GPU, we discard these areas as out-of-scope for this particular project. In a production system, we would avoid using inefficient OpenCV blending/drawing paths and would utilize hardware assisted decode of video frames.
Another way to visualize our CPU usage is in the following Flamegraph. Note that the widest elements in the graph are the hot spots in CPU utilization. If we again discard the video input and UI areas, it can be seen that the cv:HoughLinesProbabilistic() is the top offender. Just to the left, it can be seen that LaneDetector::ProcessLanes() is a close second. We know from our development of the lane detection algorithm that the ProcessLanes() functionality is not going to be offloaded as it is basic post processing of the lines gathered from the Hough transform.
Another way to look at our application is with a traditional callgraph. By zooming in on our area of concern, we get the results seen in the following diagram. Once again, excluding those paths on the right that are out-of-scope, we can clearly see that cv::HoughLinesProbabilistic is a great place to focus on performance improvements.
Come meet these presenters and other members of the team at ELC.
https://www.konsulko.com/wp-content/uploads/2016/03/160199337.jpg477720Konsulko Grouphttps://www.konsulko.com/wp-content/uploads/2021/03/KonsulkoGroup-fullcolorlogo-340x156-1.pngKonsulko Group2016-03-07 12:00:272023-06-29 09:33:24Konsulko Group at Embedded Linux Conference 2016
SAN FRANCISCO, June 1, 2015 – Automotive Grade Linux (AGL), a collaborative open source project developing a common, Linux-based software stack for the connected car, today announced that Alps Electric, Konsulko Group, Sony and Virtual Open Systems are joining the Linux Foundation and AGL to widen the door for open source innovation and build the cars of the future.
…
Konsulko Group provides technology consulting and software development services to companies looking to harness the power of open source software in automotive, networking, consumer electronics and more. With a solid commitment to open source methodologies, Konsulko Group serves a full range of client companies, from large OEMs to startups and incubators — in Europe, Asia and the Silicon Valley.
https://www.konsulko.com/wp-content/uploads/2015/06/lf-agl-kg-collage.jpg600800Konsulko Grouphttps://www.konsulko.com/wp-content/uploads/2021/03/KonsulkoGroup-fullcolorlogo-340x156-1.pngKonsulko Group2015-06-01 12:00:552023-05-01 12:10:40Konsulko Group joins the Linux Foundation and AGL