[Jetson Nano ハンズオン] MATLABによる画像処理・ディープラーニング基礎とGPU向けコード生成 ~外観検査を題材として~

ハンズオン概要

本レポートは、2019年7月25日(木)にマクニカ名古屋オフィスで開催したワークショップ「MATLAB®による画像処理・ディープラーニング基礎とGPU向けコード生成 ~外観検査を題材として~」について、ご紹介します。

 

当日は、弊社マクニカが主催となり、MathWorks Japan(以降マスワークス社)とエヌビディア合同会社(以降エヌビディア社)にご協力いただきました。

今回のハンズオンのアジェンダ

時間 講演タイトル 講演者

13:00 - 13:05

開会のあいさつ 株式会社マクニカ
クラビスカンパニー 技術統括部技術第4部 第2課 課長
戸羽 健夫

13:05 - 16:00

MATLABによる画像処理・ディープラーニング基礎とGPU向けコード生成
 ・ MATLABによる画像処理基礎
 ・ CUDAコード生成ワークフロー
 ・ MATLABによるディープラーニング
 ・ Jetson向けコード生成
MathWorks Japan
アプリケーションエンジニアリング部
シニアアプリケーションエンジニア
大塚 慶太郎氏

16:00 - 16:20

休憩

16:20 - 17:00

NVIDIA Jetson™上にて画像を用いた外観検査の実施 株式会社マクニカ
クラビスカンパニー 技術統括部技術第4部 第2課
松中 栄貴

17:00 - 17:05

総括 エヌビディア合同会社
インダストリー事業部ロボティクス ビジネス推進 マネージャー
梅本 将範氏

17:05 - 17:10

閉会のあいさつ MathWorks Japan
アプリケーションエンジニアリング部 部長
山口 貴之氏

MATLABの使い方を学ぶ

マスワークス社 大塚様
マスワークス社 大塚様

まずは、マスワークス社の大塚様にMATLABの使い方について、解説いただきました。約3時間の長丁場でしたが、参加された方は熱心に取り組まれており、質疑応答も多数ありました。

MATLABとは?

MATLAB(マトラボ)は、アメリカ合衆国のMathWorks社が開発しているソフトウェアで、科学技術計算/信号・データ処理のための統合開発環境です。大塚様曰く、「いかにエンジニアのやりたいことを簡潔に実現できるか」ということを重視しているとのことです。

主な機能

・テキストベースの、対話的開発環境
・科学技術計算のプログラミング言語
・データ解析・可視化ツール
・アルゴリズム開発ツール
・専門的機能を持ったToolboxが充実
・185ヶ国以上、世界中で400万人以上のユーザー

 

出典:MATLAB社 製品の説明
https://jp.mathworks.com/products/matlab.html

 

演習をメインに行いましたので、一部を紹介します。

MATLABの演習で行ったことを一部紹介

コインの写真を使った演習
コインの写真を使った演習

この演習では、コインが複数ある写真から、特定サイズのコイン以外を座標から削除するという演習です。

MATLABはGUIで行った作業が関数化できる!

MATLAB 画面
MATLAB 画面

今回同席していた中で、開発者として非常に良い!と感じた機能です。
GUIからプログラミングを生成すると、以下のようなコードが自動で作成されます。

MATLABには関数が約10万個あるとのことで、人間がこの個数を全て覚えることは難しいですよね。そういった場合もGUIの操作だけで、サクサクっと記述せずにプログラミングが行えるという機能は、現場でさまざまな効果を生み出すと感じました。

 

例えば、このような効果が期待できそうです。


・GUIがあるから初心者でも簡単に利用できる(勿論コマンドラインも利用可能)
・多くの関数の中から自動で必要な関数を組み合わせてくれるので、プログラミングの参考として使える
・コードを書く工数の削減ができる

NVIDIA Jetson Nano上にて画像を用いた外観検査の実施

Jetson Nanoのセットアップから実施

はじめに、Jetson Nanoのセットアップを行いました。今回は時間が限られていますので、あらかじめコマンドラインのファイルを準備し、参加された方にお渡ししています。

 

早い方は、サクサクとセットアップを終えられていましたが、期待通りの動作にならない場合は、弊社のエンジニアがサポートいたしました。

また、通常のセットアップでは不要ですが、Jetson Nano上でMATLABを使うために環境変数の設定も行い、簡単なNanoの使い方も解説しました。

Jetson Nanoのセットアップ
Jetson Nanoのセットアップ

外観検査

大塚様のセッションで準備していたモデルを、Jetson Nano上に移行して外観検査の実施をしました。この時のモデルは、「ナット表面の傷検出アルゴリズム」を利用しました。

外観検査イメージ図
外観検査イメージ図

当日の資料をご覧いただくとわかるように、コマンドラインをコピペするだけで外観検査を体験いただきました。

当日の資料
当日の資料

ご好評につき、今後も定期開催予定!

第1回の様子をお届けしましたが、会場の雰囲気は伝わりましたでしょうか?

 

実は、「第1回は都合で参加できなかったので、次回があれば参加したい」という声をいただいたため、第2回を2019年10月31日に開催しました。

未定ではございますが、今後も定期開催をできるようにしたいと考えています。ご興味のある方は、是非下記の問い合わせボタンからお問い合わせください。

お問い合わせ