Itron Idea Labs
In Search of Machine Intelligence @CES 2017
Day three at CES. I was on a mission to find machine intelligence, not a product but an ingredient technology. I was expecting to see it embedded in a variety of products and applications on the show floor, but I have seen less than expected. So here is my prediction: We’ll see more machine intelligence in the coming years.
In the meantime, here are some of the cool things that I did see. I’ll skip the self-driving cars since I already mentioned them in yesterday’s blog. I saw both hardware and software face recognition and tracking. One of them consuming only a few milliwatts. I saw Cortana in Nissan cars, which gives all the assistant features in the car and helps with navigation and driving actions. Sanbot showed an assistant robot that helps in healthcare, classroom, etc. For example, the assistant can talk and help you when you check-in at a doctor’s office. I touched its head and held its hand and it showed me a heart on the display on its body.
Nvidia showed an AI co-pilot that recognizes the driver, reads her lips, tracks her gaze, communicates with the driver in plain English, warning about bikes, etc. It will also probably be able to recognize if the driver is tired or distracted to prevent accidents. It certainly beats the backseat drivers in my car!
I wanted to look for machine intelligence because I think it is going to become more and more important in our world and for Itron. We have several projects related to machine intelligence underway. Two of them turned into products in 2016 and will start shipping in 2017.
Our first product, the Solar Gate, not only measures energy produced from a solar panel and consumed in a house, but it also diagnoses the solar panel, taking into account weather, tariffs, occupancy and other parameters. It optimizes home energy consumption by timing EV charging, storage, pool pump, etc.
Our other product identifies, with nearly 100 percent accuracy, on which phase and to which transformers homes are connected to. This is important to electric utilities. And, the beauty is the machine learning algorithms only needs voltage information from the electric meters, no expensive and inconvenient field labor.
I’d say, given what I saw on the show floor, Itron is tracking with some of the best companies here at CES.
In the meantime, here are some of the cool things that I did see. I’ll skip the self-driving cars since I already mentioned them in yesterday’s blog. I saw both hardware and software face recognition and tracking. One of them consuming only a few milliwatts. I saw Cortana in Nissan cars, which gives all the assistant features in the car and helps with navigation and driving actions. Sanbot showed an assistant robot that helps in healthcare, classroom, etc. For example, the assistant can talk and help you when you check-in at a doctor’s office. I touched its head and held its hand and it showed me a heart on the display on its body.
Nvidia showed an AI co-pilot that recognizes the driver, reads her lips, tracks her gaze, communicates with the driver in plain English, warning about bikes, etc. It will also probably be able to recognize if the driver is tired or distracted to prevent accidents. It certainly beats the backseat drivers in my car!
I wanted to look for machine intelligence because I think it is going to become more and more important in our world and for Itron. We have several projects related to machine intelligence underway. Two of them turned into products in 2016 and will start shipping in 2017.
Our first product, the Solar Gate, not only measures energy produced from a solar panel and consumed in a house, but it also diagnoses the solar panel, taking into account weather, tariffs, occupancy and other parameters. It optimizes home energy consumption by timing EV charging, storage, pool pump, etc.
Our other product identifies, with nearly 100 percent accuracy, on which phase and to which transformers homes are connected to. This is important to electric utilities. And, the beauty is the machine learning algorithms only needs voltage information from the electric meters, no expensive and inconvenient field labor.
I’d say, given what I saw on the show floor, Itron is tracking with some of the best companies here at CES.
Wystąpił błąd podczas przetwarzania szablonu.
The following has evaluated to null or missing:
==> authorContent.contentFields [in template "44616#44647#114455" at line 9, column 17]
----
Tip: It's the step after the last dot that caused this error, not those before it.
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: contentFields = authorContent.content... [in template "44616#44647#114455" at line 9, column 1]
----
1<#assign
2 webContentData = jsonFactoryUtil.createJSONObject(author.getData())
3 classPK = webContentData.classPK
4/>
5
6<#assign
7authorContent = restClient.get("/headless-delivery/v1.0/structured-contents/" + classPK + "?fields=contentFields%2CfriendlyUrlPath%2CtaxonomyCategoryBriefs")
8contentFields = authorContent.contentFields
9categories=authorContent.taxonomyCategoryBriefs
10authorContentData = jsonFactoryUtil.createJSONObject(authorContent)
11friendlyURL = authorContentData.friendlyUrlPath
12authorCategoryId = "0"
13/>
14
15<#list contentFields as contentField >
16 <#assign
17 contentFieldData = jsonFactoryUtil.createJSONObject(contentField)
18 name = contentField.name
19 />
20 <#if name == 'authorImage'>
21 <#if (contentField.contentFieldValue.image)??>
22 <#assign authorImageURL = contentField.contentFieldValue.image.contentUrl />
23 </#if>
24 </#if>
25 <#if name == 'authorName'>
26 <#assign authorName = contentField.contentFieldValue.data />
27 <#list categories as category >
28 <#if authorName == category.taxonomyCategoryName>
29 <#assign authorCategoryId = category.taxonomyCategoryId />
30 </#if>
31 </#list>
32 </#if>
33 <#if name == 'authorDescription'>
34 <#assign authorDescription = contentField.contentFieldValue.data />
35
36 </#if>
37
38 <#if name == 'authorJobTitle'>
39 <#assign authorJobTitle = contentField.contentFieldValue.data />
40
41 </#if>
42
43</#list>
44
45<div class="blog-author-info">
46 <#if authorImageURL??>
47 <img class="blog-author-img" id="author-image" src="${authorImageURL}" alt="" />
48 </#if>
49 <#if authorName??>
50 <#if authorName != "">
51 <p class="blog-author-name">By <a id="author-detail-page" href="/w/${friendlyURL}?filter_category_552298=${authorCategoryId}"><span id="author-full-name">${authorName}</span></a></p>
52 <hr />
53 </#if>
54 </#if>
55 <#if authorJobTitle??>
56 <#if authorJobTitle != "">
57 <p class="blog-author-title" id="author-job-title" >${authorJobTitle}</p>
58 <hr />
59 </#if>
60 </#if>
61 <#if authorDescription??>
62 <#if authorDescription != "" && authorDescription != "null" >
63 <p class="blog-author-desc" id="author-job-desc">${authorDescription}</p>
64 <hr />
65 </#if>
66 </#if>
67</div>
The following has evaluated to null or missing: ==> authorContent.contentFields [in template "44616#44647#114455" at line 9, column 17] ---- Tip: It's the step after the last dot that caused this error, not those before it. ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: contentFields = authorContent.content... [in template "44616#44647#114455" at line 9, column 1] ----
1<#assign
2 webContentData = jsonFactoryUtil.createJSONObject(author.getData())
3 classPK = webContentData.classPK
4/>
5
6<#assign
7authorContent = restClient.get("/headless-delivery/v1.0/structured-contents/" + classPK + "?fields=contentFields%2CfriendlyUrlPath%2CtaxonomyCategoryBriefs")
8contentFields = authorContent.contentFields
9categories=authorContent.taxonomyCategoryBriefs
10authorContentData = jsonFactoryUtil.createJSONObject(authorContent)
11friendlyURL = authorContentData.friendlyUrlPath
12authorCategoryId = "0"
13/>
14
15<#list contentFields as contentField >
16 <#assign
17 contentFieldData = jsonFactoryUtil.createJSONObject(contentField)
18 name = contentField.name
19 />
20 <#if name == 'authorImage'>
21 <#if (contentField.contentFieldValue.image)??>
22 <#assign authorImageURL = contentField.contentFieldValue.image.contentUrl />
23 </#if>
24 </#if>
25 <#if name == 'authorName'>
26 <#assign authorName = contentField.contentFieldValue.data />
27 <#list categories as category >
28 <#if authorName == category.taxonomyCategoryName>
29 <#assign authorCategoryId = category.taxonomyCategoryId />
30 </#if>
31 </#list>
32 </#if>
33 <#if name == 'authorDescription'>
34 <#assign authorDescription = contentField.contentFieldValue.data />
35
36 </#if>
37
38 <#if name == 'authorJobTitle'>
39 <#assign authorJobTitle = contentField.contentFieldValue.data />
40
41 </#if>
42
43</#list>
44
45<div class="blog-author-info">
46 <#if authorImageURL??>
47 <img class="blog-author-img" id="author-image" src="${authorImageURL}" alt="" />
48 </#if>
49 <#if authorName??>
50 <#if authorName != "">
51 <p class="blog-author-name">By <a id="author-detail-page" href="/w/${friendlyURL}?filter_category_552298=${authorCategoryId}"><span id="author-full-name">${authorName}</span></a></p>
52 <hr />
53 </#if>
54 </#if>
55 <#if authorJobTitle??>
56 <#if authorJobTitle != "">
57 <p class="blog-author-title" id="author-job-title" >${authorJobTitle}</p>
58 <hr />
59 </#if>
60 </#if>
61 <#if authorDescription??>
62 <#if authorDescription != "" && authorDescription != "null" >
63 <p class="blog-author-desc" id="author-job-desc">${authorDescription}</p>
64 <hr />
65 </#if>
66 </#if>
67</div>