投稿

7月, 2020の投稿を表示しています

Colaboratory環境で拡張子が.HEICの画像ファイルを扱う(libheif,pyheif)

本記事では、iPhoneで撮影した画像など、拡張子が.HEICになっている画像ファイルをGoogle Colaboratory内で直接扱う方法を考えてみました。 【目次】 [1]拡張子が.HEICの画像ファイルとは? [2]JPEGファイルなどに変換が必要な理由 [3]シェルコマンドでJPEGまたはPNGに変換する方法 (1)libheif (2)libheif-examplesのインストール (3)heif-convertを使ってJPEGまたはPNGに変換 [4]Python言語でHEICファイルを扱う方法 (1)pyheif (2)pyheifのインストール (3)pyheifの利用例:JPEGまたはPNGに変換 [1]拡張子が.HEICの画像ファイルとは? 拡張子が.HEICとなっているファイルは、HEIFという新しい標準規格の画像ファイルです。(HEIF仕様のファイル拡張子は、.heifあるいは.heicです。また、HEIFはヒーフと読むみたいです。) iOS 11以降のiPhoneなどで新しく撮影した写真は、HEIFに対応して拡張子が、.HEICとして保存されます。(但し、設定によりHEIFではなくJPEGで保存することも可能です。) Apple 製のデバイスで HEIF/HEVC メディアを扱う( https://support.apple.com/ja-jp/HT207022 ) High Efficiency Image File Format[HEIF]( https://ja.wikipedia.org/wiki/High_Efficiency_Image_File_Format ) HEIFは、JPEGに比べて高画質なままファイルサイズを小さくできる、などのメリットがあります。 iPhoneなどを使っていると、HEICという拡張子を目にする機会は少ないと思いますが、GoogleフォトやGoogleドライブ、そしてWindowsなどに画像ファイルを転送すると、その画像ファイルの拡張子が.HEICになっていることを確認できます。 Windows 10もHEIFに対応しており、HEICファイルをダブルクリックすると、フォトが起動して画像を表示します。 また、ペイントでHEICファイルを読み込んで、PNG画像またはJPEG画像として名前を

Colaboratory+GoogleドライブでVision APIの実験環境を作る

イメージ
本記事では、VisionAPIの特性を知るためにColaboratoryとGoogleドライブを利用した実験環境を作って試してみます。 <<お知らせ(2020/10/05)>> Vision API Pythonクライアントライブラリの新バージョン(v2.0.0)が2020年9月29日付でリリースされています。v2.0.0については、『 Vision API Pythonクライアントライブラリ v2.0.0リリース(BREAKING CHANGES 有り) 』を参照してください。 なお、現時点では、まだGoogleの公式ガイドにあるサンプルがv2.0.0向けに改定されていないため、記事内容はそのままとして、関係個所にv2.0.0に関する補足を追記しました。 【目次】 [1]Vision APIの特性を知る必要性 [2]実験環境の要件 [3]Jupyter Notebook(+プログラミング言語Python) [4]Colaboratory+Googleドライブ [5]Colaboratoryを利用したVision API実験環境の概要 [6]ノートブックを新規作成、開く、保存ほか [7]Googleドライブのマウント [8]セッションストレージへのアップロード、ダウンロード [9]Vision APIクライアントライブラリの準備 [10]Vision APIを呼び出して結果を確認する [11]自作パッケージの利用 [12]最後に:業務システムとPython言語 [1]Vision APIの特性を知る必要性 本記事では、『 「エージェント」と「環境」を意識して業務システムを少し賢くしたい 』に書いたような、業務システムを少し賢くするという立場から、Vsion APIの利用を考えてみます。 具体的には、紙にかかれた情報を業務システムに手入力するのではなく、紙を画像化してVision APIによりテキスト情報を検出し、その情報を業務システムに登録するという基本的な機能を考えてみます。 このような機能を持つ業務システムを導入する動機づけとしては、現状より業務効率が良くなるのか?、また費用対効果は良いのか?などが重要視されると思いますので、そのような評価の参考になるような機能仕様や運用シナリオ、制限事項などを考える必要があります。 具体的には、以下のようなこと

Google Vision APIの画像認識(特にOCR)を業務システム開発の立場から検討してみる

イメージ
本記事では、Googleが提供しているVision APIを業務システムでの利用という立場から検討してみます。 【目次】 [1]画像認識(特にOCR)の導入 [2]Google Vision APIとは [3]Vision API利用環境の整備と検討事項 [4]業務システム連携における検討事項 (1)料金について (2)解析対象の画像に対するGoogleの取り扱い (3)Vision API呼び出しの実装方法 (4)解析対象画像の種類と指定(送信)方法 (5)OCR機能で得られる情報 (6)業務システム連携に必要な機能 [5]最後に [1]画像認識(特にOCR)の導入 業務システムにAI技術を導入できそうなところは多々あると思いますが、今回は、『 「エージェント」と「環境」を意識して業務システムを少し賢くしたい 』の記事の例にあげた、紙に書かれている情報を業務システムに入力する作業負担を減らすことを考えてみます。これはエージェントの考え方のセンサ(視覚)にあたります。 AIに関連する研究分野に、 コンピュータビジョン(computer vision) があります。Wikipediaでは以下のように説明されています。 コンピュータがデジタルな画像、または動画をいかによく理解できるか、ということを扱う研究分野である。工学的には、人間の視覚システムが行うことができるタスクを自動化することを追求する分野である。 また、紙の情報から読み取る、ということなら真っ先に思いつくのはOCRではないかと思います。 OCR(光学文字認識) とは、ざっくり言えば、画像の中にある文字領域を認識し、それをコンピュータが扱える文字データとして抽出してくれる技術です。また、コンピュータビジョン関連技術でもあります。 具体的な利用の流れは、入力となる情報が書かれた紙を、スキャナーあるいはカメラで撮影して画像化し、OCR処理によって文字データを抽出します。この文字データを業務システムの入力に使います。 OCR技術の歴史は古く、様々な製品やサービスが存在しますが、今回はGoogle Cloud Platform(以下GCP)が提供しているVision APIを、業務システムでの利用という観点から検討してみます。 [2]Google Vision APIとは コンピュータビジョン