投稿

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

Vision APIのBatchAnnotateFilesメソッド(ファイルからの同期特徴抽出)を少し深堀りする

イメージ
Vision APIの利用には、クライアントライブラリの利用が推奨されていますが、クライアントライブラリの理解を深めるためにも、まずはVision APIが提供するメソッドの基本的な仕様を押さえておきたいと思います。 本記事では、『 Vision API クライアントライブラリの概要(Python編) 』に続いて、 Vision APIの RPCで定義されているImageAnnotatorサービスのBatchAnnotateFilesメソッド(ファイルからの同期特徴抽出)について少し深堀します。なお、内容的にはREST/HTTP APIのfiles.annotateメソッドも同様かと思います。 【目次】 [1]BatchAnnotateFilesメソッドの概要 (1)特徴 (2)メソッド定義 (3)動作イメージ (4)BatchAnnotateImagesメソッドとの違い [2]リクエストデータ:BatchAnnotateFilesRequest (1)ファイルの指定(InputConfig) (2)検出したい特徴の指定(Feature) (3)特徴タイプ固有のパラメータ(ImageContext) (4)検出対象ページの指定(pagesフィールド) [3]レスポンス:BatchAnnotateFilesResponse (1)AnnotateFileResponse (2)AnnotateImageResponse [1]BatchAnnotateFilesメソッドの概要 ファイル(PDF、TIFF、アニメーションGIF)から同期処理で特徴検出を行うメソッドです。 BatchAnnotateFilesメソッドは、Vision APIのRPCで定義されるImageAnnotatorサービスが提供する4つのメソッドのうちの1つす。(『 Vision API クライアントライブラリの概要(Python編) 』も参照してください。) (1)特徴 1つのファイルに複数のページやフレームを含めることが出来るファイル形式から特徴検出します。具体的には、PDF、TIFF、アニメーションGIFファイルです。 JPEG、PNG、BMP、WEBP、RAW、ICOの画像形式を送信するとエラーになります。 検出できる特徴は、Vision APIの機能リストにあるもので

Vision APIのBatchAnnotateImagesメソッド(画像からの同期特徴抽出)を少し深堀りする

イメージ
Vision APIの利用には、クライアントライブラリの利用が推奨されていますが、クライアントライブラリの理解を深めるためにも、まずはVision APIが提供するメソッドの基本的な仕様を押さえておきたいと思います。 本記事では、『 Vision API クライアントライブラリの概要(Python編) 』に続いて、 Vision APIの RPCで定義されているImageAnnotatorサービスのBatchAnnotateImagesメソッド(画像からの同期特徴抽出)について少し深堀します。なお、内容的にはREST/HTTP APIのimages.annotateメソッドも同様かと思います。 【目次】 [1]BatchAnnotateImagesメソッドの概要 (1)特徴 (2)メソッド定義 (3)動作イメージ [2]リクエストデータ:BatchAnnotateImagesRequest (1)画像の指定(Image) (2)検出したい特徴の指定(Feature) (3)特徴タイプ固有のパラメータ(ImageContext) [3]レスポンス:BatchAnnotateImagesResponse (1)指定した特徴に対応する検出結果フィールド (2)errorフィールド(エラー情報) (3)contextフィールド [4]Status型のエラー情報 [5]モデルのバージョンアップへの対応 [6]Protocol BuffersによるAPI定義 [1]BatchAnnotateImagesメソッドの概要 画像(JPEG、PNGなど)から同期処理で特徴検出を行うメソッドです。 BatchAnnotateImagesメソッドは、Vision APIのRPCで定義されるImageAnnotatorサービスが提供する4つのメソッドのうちの1つす。(『 Vision API クライアントライブラリの概要(Python編) 』も参照してください。) (1)特徴 画像形式は、JPEG、PNG、GIF、BMP、WEBP、RAW、ICOです。(但し、アニメーションGIFは最初のフレームのみ) PDFファイル、TIFFファイルを送信するとエラーになります。 検出できる特徴は、Vision APIの機能リストにあるもの全てです。一つの画像に対して同時に複数の特徴を検

Vision API クライアントライブラリの概要(Python編)

イメージ
本記事では、Vision APIの使い方について、Pythonクライアントライブラリを中心に、少し深堀してみたいと思います。 【目次】 [1]Vision APIの公式ドキュメント [2]PythonクライアントライブラリとRPC、REST [3]ImageAnnotatorサービス概要 (1)4つのメソッド (2)画像(Image)とファイル(File) (3)バッチ(Batch) (4)同期(オンライン)と非同期(オフライン) [4]ImageAnnotatorClientのメソッド構成の概要 [5]その他 (1)料金 (2)利用状況の確認方法 (3)割り当てと上限 [1]Vision APIの公式ドキュメント Vision APIの仕様に関する公式ドキュメントは、主に以下の二つはないかと思います。 ガイド( https://cloud.google.com/vision/docs?hl=ja ) 「画像内のテキストを検出する」のようなシナリオに応じて、Vision APIの簡単なサンプルコードとともに利用方法が説明されています。 APIとリファレンス( https://cloud.google.com/vision/docs/apis?hl=ja ) クライアントライブラリ、REST、RPC、gcloudコマンドのそれぞれについて、形式的な仕様の説明があります。 ガイドを見れば、シナリオに応じて直観的な利用方法は分かりますが、サンプルコードの範囲以上の情報は得られません。もう少し突っ込んだ情報を知りたい場合は、リファレンスを見ることになりますが、リファレンスを見ても、最初は分かりにくいのではないかと思います。 この理由として、ガイドは日本語だけどリファレンスは英語のみということもあるかもしれませんが、それよりも、ガイドとリファレンスでは視点が違うことが原因かな、と思いました。 Vision APIは顔認識、OCRなどの多くの特徴検出機能をサポートしており、ガイドでは検出する特徴ごとに個別に説明されています。一方で、Vision APIは、それらをまとめて処理できる包括的な仕様として構成されているため、リファレンスでは、個々の機能に対する説明や制限事項の記述が少なく、対応関係が分かりにくいように思えます。 本記事では、Vision APIクライ

Colaboratory環境で画像ファイルをPDFファイルに変換する(img2pdf)

本記事では、主にGoogle Colaboratory環境で、JPEGなどの画像ファイルをimg2pdfを利用して、画質の劣化なくPDFファイルに変換する方法について考えてみました。 【目次】 [1]img2pdfについて [2]インストール方法 [3]シェルコマンドとして利用する (1)基本的な使い方 (2)高度な使い方 (3)PNGファイルを変換する場合の注意事項 [4]Pythonプログラムから利用する (1)基本的な使い方 (2)コマンドライン的な利用方法 [1]img2pdfについて img2pdfは、JPEGなどの画像ファイルを、劣化なく(可逆に)PDFファイルに変換してくれるツールです。 img2pdf( https://gitlab.mister-muffin.de/josch/img2pdf ) img2pdfの特徴 劣化がない(可逆変換) PDFに埋め込まれた画像は、すべてのピクセルが入力と同じカラー情報を持ちます。 サイズが小さい 可能であれば、入力画像と出力PDFとのファイルサイズの違いは、PDFコンテナー自体のオーバーヘッドのみになります。 変換が高速 可能であれば、入力画像はピクセルデータの再エンコードを行わずにそのままPDFドキュメントに貼り付けられます。 このため、画像ファイルを画質を落とさず機械的にPDFファイルに変換したい場合には、とても有用なツールです。 img2pdfは、シェルコマンドあるいはPythonライブラリとして利用することができます。 本記事では、『 Colaboratory+GoogleドライブでVision APIの実験環境を作る 』の流れから、Colaboratoryの環境内でimg2pdfを使って画像ファイルをPDFに変換する方法を考えてみました。 (参考) 本記事とは逆に、PDFファイルを画像化する記事『 Ubuntu/Colab環境でPDFファイルのページを画像化する(pdf2image、pdftoppm、pdftocairo) 』も書いてみました。参考にしてください。 [2]インストール方法 以下のコマンドを実行するだけで、Colaboratory環境にimg2pdfをンストールできます。 !pip install img2pdf インスト