デジタルな画像のはなし (色と明るさ)

技術研究所の (あ) です。
機械学習による画像や写真の分類とかやってます。

学習用に集めた画像を畳み込みニューラルネットワークなどで学習させるわけですが、その際にはまず、集めた画像の要る部分だけを切り出したりする必要があります。また、「ちょっと違っても同じだよ」というようなことを学習させるために画像にフィルタを掛けたり変形したりノイズを加えたりして“Data Augmentation”を行うことも多いです。

こうした作業には、またこれに限らず写真などの解析や操作のためには計算機上でデジタルな画像がどう表現され扱われているのか、ということをちゃんと理解しておいたほうが便利です。「なんかこうすればよいらしい」くらいの認識でも、まあ、なんとかなるかもしれませんが、ちょっと知識があるだけで応用できる度合いがぜんぜん違ったりします。

というわけで今回はデジタルな画像の基礎的な部分の説明をしたいと思います。

続きを読む


RPAのシナリオ(ワークフロー)管理を考えてみる(1)

こんにちは。AI&ロボティクスセンターの吉田です。

4月にスマートソリューションセンターというところからAI、コミュニケーションロボを取り扱っているAI&ロボティクスセンターにRPAを抱えて異動になりました。AIや、コミュニケーションロボとRPAを掛け合わせたビジネスも加速中です。RPAについての概要を知りたい方はこちらをご覧ください。

さて、本題のRPAのシナリオ(ワークフロー)管理について話したいと思います。

RPA導入を検討する際には、どうやってロボットを管理メンテナンスしていくか、検討する必要がありますが、本記事では、シナリオ(ワークフロー)の管理について、検討したいと思います。本記事では、シナリオ(ワークフロー)は、ソースコードと同義と定義します。ソースコードと記載がある場合は、シナリオ(ワークフロー)に置き換えてください。

早速本題に入る前に、非技術者の方に向けて、ソースコード管理、ひいてはバージョン管理システムについて説明しておきます。

バージョン管理システムとは

とあるファイルサーバを見ると、こんなファイル群があった記憶はないでしょうか。

  • 20131224_集計マクロ
  • 20131225_集計マクロ
  • 20140114_集計マクロ
  • 集計マクロ_最新
  • 旧_集計マクロ_最新

続きを読む


社内勉強会で紙飛行機ワークショップを行いました!

こんにちは、サービスデリバリーセンター(通称:SDC)所属の那須です。

先月、社内の勉強会で紙飛行機ワークショップを行いました。
このワークショップは、複数人で編成されたチームに分かれ、チームごとにお題に沿った紙飛行機を製作し、完成した紙飛行機の数を競い合います。

なぜ、いい年をした大人が紙飛行機を作るのか?と思った方もいるのではないのでしょうか。
このワークショップは紙飛行機を作るという単純な作業でも、時間を短く区切り、その時間の中で計画立案、制作と完成チェック、活動の振り返りを繰り返すことで、アジャイルのプロセスを体験することができます。

今回のエントリーはアジャイルに興味がある方に、読んでいただけると嬉しいです。

続きを読む


UiPathでよく使うアクティビティをまとめてみた

はじめまして! AI&ロボティクスセンターのたかはしです。

少し前まではAI関連のお仕事やロボットを動かすお仕事などなどをしていましたが、今年の3月からRPA関連のプロジェクトに携わるようになり、現在は主にUiPathを使ったRPAの設計を担当しています。

RPAもRの字すら全く知らず、UiPathを触ったことがなかった私がRPAの設計をするにあたり、一番最初に戸惑ったこと……
それは、「UiPathって何ができるの!?」という部分でした。

既にUiPathを触ったことがある方はご存知かもしれませんが、UiPathには多岐多様なアクティビティが存在しており、そのアクティビティの組み合わせによって処理の自動化を実現しています。

ただ、あまりにも沢山のアクティビティがあるので、「この処理を実現するための最適なアクティビティはなんだ?」といったことを調べるのにとても苦労したことを覚えています。
リファレンスを読んで各々のアクティビティの使い方を理解するにしても、そもそもどんなアクティビティが存在するかを知らないことには、入り口には立てません。

そこで!!

今回は、これからUiPathを使っていきたいという方のために、私たちがUiPathでRPAの開発をする際によく使用するアクティビティと、その簡単な説明を一覧で公開しようと思います!

何らかの業務をUiPathで自動化したい!と思ったとき、このリストを見ればどう実現するが想像できるようになるかもしれません。

続きを読む


LINE Messaging API + Google Apps Script で遊んでみました

どうもはじめまして。サービスデリバリーセンターの岩崎です。
以前のとある活動で LINE Messaging API + Google Apps Script を使ったサンプルアプリを作って遊んでみましたので、そのときの情報を紹介します。

・LINE Messaging APIとは
LINEが提供しているAPIであり、APIを通じて自分が作成したプログラムとLINEサービスと連携することが出来ます。例えば、LINEから受信したメッセージを元にプログラムが情報を収集し、編集した情報をLINEに戻すようなBOTアプリを作成することが可能です。
機能制限付きですが、一部サービスは無料で使用可能です。(詳しくはコチラ)

・Google Apps Scriptとは
Googleが提供するJavascriptベースのスクリプト開発環境です。
Googleサービスを操作、他のWebAPIの呼び出し、自分自身をWebAPIとして公開等、様々なことが出来ます。Googleサービス上で実装からAPI公開まで行うことが出来、別途サーバ等を用意することなくWebAPIを公開することが可能です。(詳しくはコチラ)

続きを読む


ウォーターフォールじゃない開発について

ご無沙汰してます。所属変わって、新設されたサービスデリバリーセンター(SDC)の「むらたん」です。

先日、同僚から「アジャイル開発とスパイラルモデルは何が違うの?」という質問を受けました。本来、ウォーターフォールと呼ばれる「手法」とアジャイルと呼ばれる「状態」は比較できないものですが、世の中的にはプロジェクトの進め方や、重視することなどで比較されることが多く、対比表をあちこちで見かけます。
2000年台初頭のシステム開発の教科書的なものには「プロトタイプモデル」や「スパイラルモデル」という言葉がありましたが、最近はあまり見かけなくなりました。

PMIからもアジャイル実務ガイド(日本語版)が刊行されましたが、「プロトタイプ」というキーワードはあっても、「プロトタイプモデル」や「スパイラルモデル」という開発手法に関するキーワードはなく、逆に「予測型」「漸進型」「反復型」「アジャイル型」というライフサイクルの区分けになっています。

今回のエントリーは、今一度、このあたりを整理してみたいと思います。

 
続きを読む


感度とか特異度とか

技術研究所の(あ)です。
機械学習を用いた眼科画像からの疾患の有無の判断とかやってます。こういうもの (画像からの判断だけでなく、インフルエンザの検査とかでも同じです) の性能を評価しようとするとき、いろいろな指標の用語が出てきます。

感度、特異度、精度、再現率、適合度、などなど…

何がどう違うのでしょう? 何でたくさんあるのでしょう?
もちろん本やウェブで調べれば出てきますが、意外とすっきり簡潔に解りやすくまとめた資料がありません。いろいろな人に説明せねばならない機会も増えたし、それではということで自分で説明図などを作ってみました。

続きを読む


gophernotesを使ってみる

こんにちは。技術研究所の910です。

私は主にPythonでコードを書くことが多いのですが、その際には一度Jupyter Notebookで短いコードを書いて動かしてみてからモジュールに実装する、というやり方を取っています。
コードを共有するのも楽ですし、Markdownで書いたメモも一緒に共有できるので、好んで使っています。

最近ふつふつと新たな開発言語を学びたい欲が湧いてきたので、Golangを学ぶことにしました。
そこでNotebook用のGoカーネルを探してみたところ幾つか見つかりましたので、試してみました。

本記事はかなり短い記事となっていますので、かるーく読んでいただければ幸いです。

続きを読む


恋人にもらったアクセサリーにGPSが付いているかもしれないと心配しなくていい3つの理由

こんにちは、デジタルマーケティングチームの林です。

先日、とある小説を読んでいると、主人公の女の子が恋人にプレゼントされたネックレスにGPSが仕込まれていて、居場所が常に監視され…という話に遭遇しました。(どんな小説なのかはご想像にお任せします)

・・・ちょっと待って!GPSはちょっと難しいんじゃない!?

この話に限らず、GPS付きの小物が出てくる漫画や小説をチラホラと見かけます。また、「防犯のために子どもにGPS付きのキーホルダーを持たせたい」といった保護者の発言を聞くこともあります。

皆さんが身近な人からのプレゼントに疑心暗鬼にならずに済むように、アクセサリーやキーホルダーといったアイテムにGPSを仕込むのが難しい理由をお伝えしたいと思います。

続きを読む


DataTable 操作のパフォーマンスが上がった話

こんにちは、AI&ロボティクスセンターの大川です。

今回はRPA業務で、ちょっとした工夫でロボット動作のパフォーマンスが大きく上がったということをお話しします。

RPAで多用される定型業務の一つに、Excelデータの処理があります。
複数のExcelファイルにある大量のデータから特定の列を抽出して一つのExcelファイルに出力したり、その出力処理の前処理として複数条件でデータを集計してから出力したりと、人が手で作業するには非常に時間がかかりミスも発生しやすい定型業務を、ロボットで正確に処理してくれます。
現在は、UiPathというアプリケーションを使用したRPAの開発を行っており、Excelファイルの処理はDataTableという型のデータを扱うことになります。

※UiPathでコードを記述するときは、VB.NETという言語を使用します。

どんな問題が発生したのか

DataTableから条件に合う行を抽出するときに、ものすごく時間がかかるという問題が発生しました。

続きを読む