TRANSFORM AIでビジネスを変革する最強フレームワーク

今日は、GW初日。今年も緊急事態宣言で、外出制限があるので、家でのんびり読書していた。

今日は、「 TRANSFORM AIでビジネスを変革する最強フレームワーク」を読んだ。

TRANSFORM――AIでビジネスを変革する最強フレームワーク

TRANSFORM――AIでビジネスを変革する最強フレームワーク

この本は、AI技術の初心者が実際にビジネスに適用する際に手元にあると便利だなっと思った。

例えば、AI技術をビジネスに適用するとなると、どうしても担当者は、技術者に丸投げして、なかなか担当者と技術者でうまく会話ができず、結局見込んだ成果を得ることができない等が生じる。 そこで、この本の3部などでは、組織運営方法、データの扱いなど丁寧に説明されている。

下手なコンサルに相談するよりは、この本を熟読することで、AI技術を用いてProject 運営するために必要なことがよくわかる。

入門書として読むのはいいが、これだけの知識だけで現実課題を解くのは難しいなとも感じた。

QRコードの奇跡 ものづくり集団の発想転換が革新を産んだ。

QRコード」。普段私が使う時は、LINEでアドレス交換するときぐらいに使用している位で、どういうものか考えていなかった。 例えば、半導体製品だったら、マトリックスコードであったりして、それがQRコードやバーコードと何が違うのか?なども考えたことなかった。

そこで、タイトルの本を読んでみた。

なんでこの本を読もうとおもったのか?

なんとなく、QRコードを作ろうとしたのかの背景や、必要性、どのような用途で使われているのか?を学びたいと思ったため手に取ってみた。

内容

デンソーを舞台としたストーリ展開で読みやすい。

トヨタ生産方式で使用されている、アナログかんばん方式から電子かんばん方式への道のり、PCが普及していない時代での社会情勢を背景とした中での取り組みを踏まえ、どのようにQRコードを作ろうとしたのか?そして標準化、応用などの事例が書かれていて、読み入ってしまった。

個人的には、車載メーカでのアナログなかんばんからQRコードへ変換する際に汚れに耐えうるための対応(誤り補正機能)、QRコードを認識速度を上げるための対応、情報量を増やすための対応など、考えたことがない方向での説明が豊富でなるほどっとなった。

AI, ITを活用して生産性向上や効率化を考える必要がある技術者におすすめです。

参考

https://www.denso-wave.com/ja/technology/vol1.html

pascal vocのviewer

最近、検収作業で、データセットを確認するためにviewerの探してためしてる。

pascal vocのviewerはImageSet Viewerが良さそうだ。

github.com

f:id:unachan_kz:20210317001100p:plain
imageset viewer

物体検出やインスタンスセグメンテーションの実験をする際には、本当後処理、前処理でツールが必要となるなっと。

おかげでcocoデータフォーマットの使い方は慣れたなっと思う。

coco viewer

物体検出システムを作っていると、coco formatがきちんと作られているのかが心配になって確認したくなる。

簡単にファイルが作られているかviewerがないかを確認したところ、「COCO Image Viewer」が便利だった。

github.com

Installation

Install方法

git clone https://github.com/trsvchn/coco-viewer.git

使用方法

python cocoviewer.py -i coco/images/val/val2017 -a coco/annotations/val/instances_val2017.json

フォント関連でエラーが発生した。

エラー発生箇所

File "coco-viewer/cocoviewer.py", line 138, in draw_bboxes font = ImageFont.truetype("DejaVuSans.ttf", size=label_size)

解決方法

cocoviewer.pyのコード内の136行付近にある下記処理が問題となっている。

if labels: text = c[0] # font = ImageFont.truetype("DejaVuSans.ttf", size=label_size) font = ImageFont.truetype("Chalkduster.ttf",size=label_size)

f:id:unachan_kz:20210315223602p:plain
変更箇所

f:id:unachan_kz:20210315223520p:plain
coco viewer

Simple Copy-Paste is a Strong Data Augmentation Method for Instance Segmentation

paperswithcodeをみて、どのdetection modelが良いのかなっと思ってサイトを確認していた。

f:id:unachan_kz:20210306224732p:plain
Object Detection on COCO test-dev

leaderboardを確認していると、「Simple Copy-Paste is a Strong Data Augmentation Method for Instance Segmentation」というツールがあることがわかり、試してみた。

実験コード

github.com

結果

f:id:unachan_kz:20210306225119p:plain
魚のaugmentation

f:id:unachan_kz:20210306225246p:plain
魚のaugmentation

使用方法

pytorchのコードにおいて下記コードを追加すれば良い様だ。

output = transforms(image=image, masks=masks, bboxes=bboxes)
--->instead
output = transforms(
    image=image, masks=masks, bboxes=bboxes,
    paste_image=paste_image, paste_masks=paste_masks, paste_bboxes=paste_bboxes
  )

確認環境

google colaboratory

検証中に以下のエラーが発生しました。

# エラーが出た箇所
from albumentations.pytorch.transforms import ToTensorV2
 
# エラー内容
ImportError: cannot import name 'ToTensorV2' from 'albumentations.pytorch.transforms' (/usr/local/lib/python3.7/dist-packages/albumentations/pytorch/transforms.py)

このため、albumentationsのバージョンを変更しエラーを回避しました。

#! pip install albumentations==0.4.6

五島の魚をmask RCNNで魚検出とマスキングした

概要

mask RCNNで魚のインスタンスセグメンテーションを行ってみました。

やったこと

  1. アノテーションツール(VoTT)を用いて、魚(アラカブ、アジ、ブリ、メジナ)に対してアノテーションする。
  2. mask RCNNを用いて学習して、インスタンスセグメンテーションを実行する。

環境

  • google colaboratory.
  • Detectron2

sample code

colab.research.google.com

結果

f:id:unachan_kz:20210211123939p:plain
黒(メジナ)

f:id:unachan_kz:20210211124000p:plain
アラカブ(カサゴ)

f:id:unachan_kz:20210211123559p:plain
ブリ

考察

アノテーション作業

学習について

  • Detectron2を用いることで、Mask RCNNの実験が容易だった。
  • 一方で、cocoデータフォーマットの形式に関しては、いまいち曖昧のまま。この点は調べないといけない。  本家本元の、notebookを用いて手を動かして勉強してみようと思う。  github.com

五島の魚や海とかAI技術を用いて、自動認識できる様になってきたよぉ。