OCR PlatoBlockchain Data Intelligence の画像処理と境界ボックス。 垂直検索。 あい。

OCR の画像処理と境界ボックス

テクノロジーは進化し続けており、私たちもそうです。 人工知能と機械学習の出現により、焦点は自動化に移行しました。 そうは言っても、これらの新たなトレンドの応用を研究および調査するために、さまざまなコンピューターサイエンス分野が導入されています。

そのような例の1つは 画像処理. 簡単に言えば、画像を探索して意味のある情報を引き出すことを指します。 これを達成するためにいくつかの手法を利用できますが、最も一般的に使用されるのは – 境界ボックス.

このブログでは、バウンディング ボックスのさまざまな側面について詳しく説明します。 それらが何であるか、画像処理でどのように機能するか、それらを定義するパラメーター、それらを指定する規則、一般的な使用例、注意事項とベスト プラクティスなどが含まれます。

さあ、ダイビングしましょう。

画像処理とは、画像を強化したり、画像に関連付けられた機能や属性から貴重な洞察を抽出したりするために、画像に対して特定の操作を実行することを指します。 今日、画像処理は工学およびコンピュータ技術研究における主要な研究分野です。

画像処理には、アナログ画像処理とデジタル画像処理の XNUMX つの方法があります。

アナログ画像処理では、印刷物や写真のハード コピーを使用して画像を分析および操作します。 画像解析者は、さまざまな方法を使用してこれらの画像コピーを解釈し、意味のある結果を抽出します。

デジタル画像処理では、デジタル画像を使用し、コンピューターを使用してそれらを解釈します。 デジタル信号処理のサブカテゴリであり、アルゴリズムを使用してデジタル画像を処理します。 処理中のノイズや歪みを防ぐアルゴリズムなど、アナログ画像処理に勝る利点があります。

デジタル画像処理には、医療、製造、e コマースなどの分野でいくつかの用途があります。


画像処理における境界ボックス

最初に、境界ボックスは、オブジェクトと一連のデータ ポイントを含む架空の長方形のボックスです。 デジタル画像処理のコンテキストでは、境界ボックスは、画像を囲む X 軸と Y 軸上の境界線の座標を示します。 それらは、ターゲットを識別し、オブジェクト検出の基準として機能し、オブジェクトの衝突ボックスを生成するために使用されます。

バウンディング ボックスとは

境界ボックスは重要な要素であり、ビデオ アノテーション プロジェクトの主要な画像処理ツールの XNUMX つです。 本質的に、バウンディング ボックスは、機械学習プロジェクトの要件の一部として、画像内のオブジェクトの輪郭を描く架空の四角形です。 架空の長方形のフレームは、画像内のオブジェクトを囲みます。

境界ボックスは、オブジェクトの位置、そのクラス、およびオブジェクトが実際に境界ボックスに存在する確率を示す信頼度を指定します。

コンピューター ビジョンは、自動運転車から顔認識など、驚くべきアプリケーションを提供します。 そして、これは画像処理によって可能になります。

では、画像処理はオブジェクトの周りに長方形やパターンを描くのと同じくらい簡単ですか? いいえ。そうは言っても、バウンディング ボックスは何をするのでしょうか?

理解しましょう。

境界ボックスは画像処理でどのように機能しますか?

前述のように、バウンディング ボックスは、オブジェクト検出の基準点として機能し、オブジェクトの衝突ボックスを作成する架空の四角形です。

では、データアノテーターにどのように役立つのでしょうか? 専門家は境界ボックスのアイデアを使用して、イメージ上に架空の長方形を描きます。 各画像内で問題のオブジェクトのアウトラインを作成し、その X 座標と Y 座標を定義します。 これにより、機械学習アルゴリズムの仕事が簡単になり、衝突経路などを見つけるのに役立ち、計算リソースを節約できます。

たとえば、下の画像では、各車両が重要なオブジェクトであり、その位置と場所は機械学習モデルのトレーニングに不可欠です。 データ アノテーターは、バウンディング ボックス手法を使用して、これらの各オブジェクト (この場合は車両) の周りに長方形を描画します。

OCR PlatoBlockchain Data Intelligence の画像処理と境界ボックス。 垂直検索。 あい。

情報源: キーマーカー

次に、座標を使用して各オブジェクトの位置と場所を把握します。これは、機械学習モデルのトレーニングに役立ちます。 単一の境界ボックスでは、適切な予測率は得られません。 オブジェクト検出を強化するには、複数の境界ボックスをデータ拡張方法と組み合わせて使用​​する必要があります。

境界ボックスは、コストを大幅に削減する、非常に効率的で堅牢な画像注釈手法です。

バウンディング ボックスを定義するパラメータ

パラメータは、境界ボックスを指定するために使用される規則に基づいています。 使用される主なパラメータは次のとおりです。

  • クラス: バウンディング ボックス内のオブジェクトを示します。たとえば、車、家、建物などです。
  • (X1, Y1): これは、長方形の左上隅の X および Y 座標を参照します。
  • (X2, Y2): これは、長方形の右下隅の X および Y 座標を参照します。
  • (Xc, Yc): バウンディング ボックスの中心の X および Y 座標を参照します。
  • 幅: これは境界ボックスの幅を示します。
  • 高さ: 境界ボックスの高さを示します。
  • 信頼度: これは、オブジェクトがボックス内にある可能性を表します。 たとえば、信頼度は 0.9 です。 これは、オブジェクトが実際にボックス内に存在する確率が 90% であることを意味します。

境界ボックスを指定する規則

境界ボックスを指定する場合、通常、XNUMX つの主要な規則を含める必要があります。 これらは:

  • 四角形の左上点と右下点の X 座標と Y 座標。
  • バウンディング ボックスの中心の X 座標と Y 座標、およびその幅と高さ。

これを車の例で説明しましょう。

を。 最初の規則に関して、境界ボックスは左上と右下の点の座標に従って指定されます。

情報源: 分析Vidhya

b. XNUMX 番目の規則に関して、境界ボックスは、中心座標、幅、および高さに従って記述されます。

OCR PlatoBlockchain Data Intelligence の画像処理と境界ボックス。 垂直検索。 あい。

情報源: 分析Vidhya

ユースケースに応じて、異なる規約タイプ間で変換することができます。

  • Xc = (X1 + X2)/2
  • Yc = (Y1 + Y2)/2
  • 幅 = (X2 – X1)
  • 高さ = (Y2 – Y1)

プログラミング コードで説明したバウンディング ボックス

コード スニペットを使用して、オブジェクトの場所または位置に関する別の例を見てみましょう。

OCR PlatoBlockchain Data Intelligence の画像処理と境界ボックス。 垂直検索。 あい。

情報源: d2i

このイラストに使用する画像を読み込みます。 写真は左が犬、右が猫です。 画像には犬と猫の XNUMX つのオブジェクトがあります。

OCR PlatoBlockchain Data Intelligence の画像処理と境界ボックス。 垂直検索。 あい。

情報源: d2i

OCR PlatoBlockchain Data Intelligence の画像処理と境界ボックス。 垂直検索。 あい。

情報源: d2i

境界ボックスの左上隅と右下隅の座標として x と y を取得しましょう。 (x1,y1) と (x2,y2) とします。 同様に、バウンディング ボックスの中心の (x,y) 軸座標と、その幅と高さについて考えてみましょう。

次に、これらのフォームを変換するための XNUMX つの関数を定義します。

入力引数ボックスは、形状 (n,4) の XNUMX 次元テンソルである必要があります。ここで、n は境界ボックスの数です。

OCR PlatoBlockchain Data Intelligence の画像処理と境界ボックス。 垂直検索。 あい。

情報源: d2i

次に、座標データに基づいて、犬と猫のバウンディング ボックスを画像上に定義します。

OCR PlatoBlockchain Data Intelligence の画像処理と境界ボックス。 垂直検索。 あい。

情報源: d2i

XNUMX つのバウンディング ボックス変換関数の正確性を検証するために、XNUMX 回変換できます。

OCR PlatoBlockchain Data Intelligence の画像処理と境界ボックス。 垂直検索。 あい。

情報源: d2i

OCR PlatoBlockchain Data Intelligence の画像処理と境界ボックス。 垂直検索。 あい。

情報源: d2i

次に、画像上のオブジェクトの境界ボックスを描画して、それらが正確かどうかを確認できます。 その前に、matplotlib パッケージの関連する形式でバウンディング ボックスを表す関数 bbox_t_rect を定義します。

OCR PlatoBlockchain Data Intelligence の画像処理と境界ボックス。 垂直検索。 あい。

情報源: d2i

犬と猫のオブジェクトのバウンディング ボックスを画像に追加すると、これらのオブジェクトの主な輪郭が XNUMX つのボックス内にあることがわかります。

OCR PlatoBlockchain Data Intelligence の画像処理と境界ボックス。 垂直検索。 あい。

情報源: d2i

OCR PlatoBlockchain Data Intelligence の画像処理と境界ボックス。 垂直検索。 あい。

情報源: d2i


反復的な手動タスクを自動化したいですか? Nanonetsワークフローベースのドキュメント処理ソフトウェアを確認してください。 請求書、IDカード、または自動操縦のドキュメントからデータを抽出します。


境界ボックスの一般的な使用例

自動運転車のオブジェクト ローカリゼーション

バウンディング ボックスは、建物、信号機、障害物などの道路上のオブジェクトを識別するために、自動運転車または自動運転車のトレーニングに不可欠です。 障害物に注釈を付けるのに役立ち、渋滞の場合でもロボットが車両を安全に運転して事故を防止できるようにします。

ロボティクスの画像

バウンディング ボックスなどの画像注釈技術は、ロボットやドローンの視点をマークするために広く使用されています。 これらの自動運転車は、このアノテーション方法で取得した写真を使用して、地球上のオブジェクトを分類するのに役立ちます。

eコマースと小売り向けの画像タグ付け

バウンディング ボックスの注釈は、製品の視覚化を改善するのに役立ちます。これは、e コマースや小売業にとって大きな利点です。 同様のアイテムでトレーニングされたモデルは、ファッション アパレル、アクセサリー、家具、化粧品などのオブジェクトに適切にラベルを付けると、より正確に注釈を付けることができます。 以下は、小売業におけるバウンディング ボックスの注釈によって対処される課題の一部です。

  • 間違った検索結果

顧客が e コマース サイトにたどり着く唯一の方法が検索である場合、カタログ データが正しくないと検索結果が不正確になり、顧客のトラフィックがサイトに誘導されない可能性があります。

  • 組織化されていないサプライ チェーン

年間数百万の製品を出荷できるように小売ビジネスを拡大したい場合、オフラインとオンラインのデータを同期させることが不可欠になります。

  • 継続的なデジタル化

すべての製品を体系的かつ迅速にデジタル化し、タグ付けして、顧客が新しい機会を逃さないようにすることが重要です。 さらに、タグは文脈に沿ったものでなければならず、小売業が拡大し、より多くの製品が追加されるにつれて、これを順守することが難しくなります。

保険金請求のための車の紛失を検出

境界ボックスの手法は、事故で損傷した車、自転車、またはその他の車両を追跡するのに役立ちます。 機械学習モデルは、境界ボックスからのこれらの画像を使用して、損失の位置と強度を理解します。 これは、クライアントが訴訟を起こす前に見積もりを提示できることに基づいて、発生した損失のコストを予測するのに役立ちます。

OCR PlatoBlockchain Data Intelligence の画像処理と境界ボックス。 垂直検索。 あい。

情報源: スーパーアノテーション

屋内アイテムの検出

境界ボックスは、コンピュータがベッド、ソファ、机、キャビネット、電化製品などの屋内アイテムを検出するのに役立ちます。 これにより、コンピューターは空間の感覚と存在するオブジェクトの種類、およびそれらの寸法と位置を取得できます。 これは、機械学習モデルが実際の状況でこれらのアイテムを識別するのに役立ちます。

バウンディング ボックスは、さまざまな種類のオブジェクトを理解して解釈するためのディープ ラーニング ツールとして、写真で広く使用されています。

農業における病気と植物の成長の識別

植物の病気を早期に発見することは、農家が深刻な損失を防ぐのに役立ちます。 スマート農業の出現に伴い、課題はデータをトレーニングして機械学習モデルに植物の病気を検出するように教えることにあります。 境界ボックスは、マシンに必要なビジョンを提供する主要なドライバーです。

製造業

産業におけるオブジェクトの検出とアイテムの識別は、製造の重要な側面です。 AI 対応のロボットとコンピューターを使用すると、手作業による介入の役割が軽減されます。 とはいえ、境界ボックスは、機械学習モデルをトレーニングして産業用コンポーネントを見つけて検出するのに役立つという重要な役割を果たします。 さらに、品質管理の一部である品質管理、選別、組立ライン操作などのプロセスでは、物体検出が必要です。

医療画像処理

境界ボックスは、医療画像処理などのヘルスケア業界でも使用されます。 医用画像処理の技術は、心臓などの解剖学的オブジェクトの検出を扱い、迅速かつ正確な分析を必要とします。 境界ボックスを使用して機械学習モデルをトレーニングすると、心臓や他の臓器を迅速かつ正確に検出できるようになります。

自動CCTV

自動化された CCTV は、ほとんどの住宅、商業施設、およびその他の施設で義務付けられています。 多くの場合、キャプチャした CCTV 映像を長期間保存するには、大容量のメモリ ストレージが必要です。 境界ボックスなどのオブジェクト検出技術を使用すると、特定のオブジェクトが識別された場合にのみ映像が記録されるようにすることができます。 境界ボックスは、機械学習モデルをトレーニングして、それらのオブジェクトのみを検出し、その瞬間に映像をキャプチャできます。 これは、CCTV に必要なストレージの範囲を最小限に抑え、コストを削減するのにも役立ちます。

顔の認識と検出

顔認識は、バイオメトリック監視で使用されるなど、複数のアプリケーションを提供します。 さらに、銀行、空港、小売店、スタジアム、その他の機関などのさまざまな機関が、犯罪や暴力を防ぐために顔認識を使用しています。 とはいえ、顔検出は、画像処理を伴うコンピューター ビジョンの重要な要素です。 ここでも、境界ボックスは文字認識の効果的なツールとして使用できます。


ロボットプロセス自動化を使用したいですか? Nanonetsワークフローベースのドキュメント処理ソフトウェアをチェックしてください。 コードはありません。 面倒なプラットフォームはありません。


文字認識用のバウンディング ボックス

物体検出には、画像分類と物体位置特定が含まれます。 これは、コンピューターがオブジェクトを検出するには、問題のオブジェクトが何であり、どこにあるかを知る必要があることを意味します。 画像分類は、クラス ラベルを画像に割り当てます。 オブジェクトのローカリゼーションは、画像内で問題のオブジェクトの周囲に境界ボックスを描画することに関連しています。

このプロセスでは、アノテーターがオブジェクトの周囲にバウンディング ボックスを描画し、それらにラベルを付けます。 これは、アルゴリズムのトレーニングに役立ち、オブジェクトがどのように見えるかを理解できるようにします。 オブジェクト検出の最初のステップとして、画像データセットにラベルが必要です。

画像にラベルを付けるには、次の手順に従います。

  • トレーニングおよびテストするデータセットを選択します。 それのフォルダを作ります。
  • BTS、Avenger などの顔検出プロジェクトの例を見てみましょう。
  • フォルダ名データを作成します。
  • Google ドライブで、FaceDetection という名前のフォルダーを作成します。
  • FaceDetection フォルダー内に、画像のフォルダーを作成します。
  • image フォルダー内に、test image、test XML、train image、train XML のフォルダーを作成します。
OCR PlatoBlockchain Data Intelligence の画像処理と境界ボックス。 垂直検索。 あい。

情報源:インダスミック

次に、電車の画像フォルダーに、BTS とアベンジャーズの 10 ~ 15 枚の画像を JPEG 形式でダウンロードしてアップロードします。 同様に、テスト イメージ フォルダーで、5 ~ 6 個のイメージに対して同じ操作を行います。 正確な結果を得るには、データセットにより多くの画像を含めることをお勧めします。

OCR PlatoBlockchain Data Intelligence の画像処理と境界ボックス。 垂直検索。 あい。

情報源: インダスミック

OCR PlatoBlockchain Data Intelligence の画像処理と境界ボックス。 垂直検索。 あい。

情報源: インダスミック

次に、テスト イメージとトレーニング イメージ フォルダーの各イメージの XML ファイルを生成します。

Windows v_1.8.0 をダウンロードしてクリックします。 GitHub から .exe ファイルをクリックし、[実行] を押します。

次に、開いているディレクトリをクリックして、画像のフォルダを選択します。 ラベル付けする必要がある画像が表示されます。 ラベルを付けるには、キーボードの W を押し、カーソルを右クリックしてドラッグし、オブジェクトの周りにボックスを描きます。 名前を付けて、[OK] をクリックします。

OCR PlatoBlockchain Data Intelligence の画像処理と境界ボックス。 垂直検索。 あい。

情報源: インダスミック

次に、以下に示すように、画像を保存して、画像フォルダーに画像の XML ファイルを生成します。

OCR PlatoBlockchain Data Intelligence の画像処理と境界ボックス。 垂直検索。 あい。

情報源: インダスミック

XML ファイルを開いて座標を確認します。

OCR PlatoBlockchain Data Intelligence の画像処理と境界ボックス。 垂直検索。 あい。

情報源: インダスミック

すべての画像に対して手順を繰り返して XML ファイルを生成し、座標を探します。


請求書や領収書を扱う場合、またはIDの確認について心配する場合は、Nanonetsをチェックしてください。 オンラインOCR or PDFテキストエクストラクタ PDFドキュメントからテキストを抽出するには 無料で。 詳細については、以下をクリックしてください Nanonetsエンタープライズ自動化ソリューション.


境界ボックスで使用されるさまざまな注釈形式

基本的に、境界ボックスには、コーナーを表す (x,y) 軸に 4 つのポイントがあります。

左上: (x_min, y_min)

右上: (x_max, y_min)

左下:(x_min, y_max)

右下: (x_max, y_max)

境界ボックスの座標は、画像の左上隅を基準にして計算されます。

いくつかの境界ボックス注釈形式があり、それぞれが境界ボックス座標の独自の表現を使用します。

を。 卵白形成

これらは境界ボックスを表すために XNUMX つの値 ([x_min, y_min, x_max, y_max]) を使用します。これらは、x 軸のピクセル単位の座標を幅で、y 軸を高さで割ることによって正規化されます。

バウンディング ボックスの座標を次のようにします。x1 = 678、y1 = 24; x2 = 543、y2 = 213。

幅 = 870、高さ = 789 とする

次に、 [678/870, 24/789, 543/870, 213/789] = [ 0.779310, 0.030418 ,0.624137, 0.269961]

Albumentations は、境界ボックスを使用してこれらの値を内部的に使用および解釈し、それらを強化します。

b. ココ

これは、Common Objects in Context COCO データセットで使用される形式です。 COCO 形式では、境界ボックスは XNUMX つの値 (x_min、y_min、幅、高さ) で表されます。 基本的に、境界ボックスの左上隅と幅と高さを指します。

c. ヨロ

この形式では、境界ボックスは XNUMX つの値 (x_center、y_center、幅、高さ) で表示されます。 ここで、x_center と y_center は、境界ボックスの中心の正規化された x 座標と y 座標を示します。 正規化するには、中心の x 座標を画像の幅で、中心の y 座標を画像の高さで表します。 幅と高さの値も正規化されます。

d. パスカル

Pascal 形式では、境界ボックスは左上と右下の座標で表されます。 したがって、ピクセルでエンコードされた値は [x_min, y_min, x_max, y_max] です。 ここで、[x_min, y_min] は左上隅の値で、[x_max, y_max] はバウンディング ボックスの右下隅を表します。


反復的な手動タスクを自動化したいですか? 効率を高めながら、時間、労力、お金を節約しましょう!


境界ボックスを使用する際の注意事項とベスト プラクティス

画像処理でバウンディング ボックスを最適に使用するには、いくつかの注意事項とベスト プラクティスに従うことをお勧めします。 それらには以下が含まれます:

ボックスサイズのバリエーション

同じサイズの境界ボックスをすべて使用すると、正確な結果がレンダリングされません。 同じサイズのバウンディング ボックスでモデルをトレーニングすると、モデルのパフォーマンスが低下します。 たとえば、同じオブジェクトのサイズが小さく見える場合、モデルはそれを検出できない可能性があります。 オブジェクトが予想よりも大きく表示される場合は、より多くのピクセルが使用され、オブジェクトの正確な位置と位置が提供されない場合があります。 重要なのは、目的の結果を達成するために、オブジェクトのサイズとボリュームの変化を念頭に置くことです。

ピクセルパーフェクトなタイトネス

気密性は重要な要素です。 これは、正確な結果を得るには、バウンディング ボックスのエッジが問題のオブジェクトにできるだけ近くなければならないことを意味します。 一貫したギャップは、モデルの予測と実際のオブジェクトとの間の重複領域を決定する際の精度に影響を与え、問題を引き起こす可能性があります。

境界ボックスに配置された対角アイテム

バウンディング ボックス内にアイテムを斜めに配置する際に直面する問題は、背景に比べてボックス内のスペースがかなり小さくなることです。 ただし、露出時間が長くなると、より多くのスペースを消費するため、モデルはターゲットが背景であると推定する場合があります。 そのため、ベスト プラクティスとして、斜めのオブジェクトにはポリゴンとインスタンス セグメンテーションを使用することをお勧めします。 それでも、十分な量のトレーニング データを使用してバウンディング ボックスを使用してモデルを教えることができます。

ボックスの重なりを減らす

すべてのシナリオで、注釈の重複を避けることは常に安全です。 場合によっては、これにより非常に煩雑になり、一部の重なり合ったボックスのみが最終的に表示される場合があります。 ラベル付けが他のエンティティと重複するオブジェクトは、比較的悪い結果をもたらします。 過度のオーバーラップにより、モデルはターゲット オブジェクトと他のアイテムを区別できなくなります。 このような場合、ポリゴンを使用して精度を高めることができます。

まとめ

画像処理は、幅広い範囲を提供する新しい技術領域です。 とはいえ、境界ボックスは、最も一般的に適用される画像処理技術を形成します。

要約すると、バウンディング ボックスは、AI ベースの機械学習モデルをトレーニングするための画像注釈方法です。 ロボット、ドローン、自動運転車、監視カメラ、その他のマシン ビジョン デバイスなど、幅広いアプリケーションで物体検出とターゲット認識に使用されます。

推奨リソース:

https://www.kdnuggets.com/2022/07/bounding-box-deep-learning-future-video-annotation.html#:~:text=A%20bounding%20box%20is%20a,location%2C%20size%2C%20and%20orientation.

https://www.v7labs.com/blog/bounding-box-annotation

https://towardsdatascience.com/image-data-labelling-and-annotation-everything-you-need-to-know-86ede6c684b1


ナノネット オンラインOCR&OCR API 多くの興味深いものがあります ユースケース t帽子はあなたの業績を最適化し、コストを節約し、成長を後押しすることができます。 詳細 Nanonetsのユースケースを製品にどのように適用できるか。


タイムスタンプ:

より多くの AIと機械学習