今回のプロジェクトでは、毎分90件のユニークシリアルナンバーのスキャンとデータ変換を行うシステムを開発しました。以下にその主要な内容をまとめます。<br><br>システムの重要な要件として、スループット、精度、入力フォーマット、出力フォーマット、システム統合、スケーラビリティを定義しました。特に、シリアルナンバーのOCR精度は99.8%以上を求め、紙や画像ファイル、PDFなど多様な入力フォーマットからデータを取り込み、最終的にはデータベースに保存する構成としました。また、システムが処理量の増加にも対応できるよう、スケーラビリティを考慮しました。<br><br>2. OCRエンジンの選定<br>システムの要件に合わせて、Tesseract OCR、Google Cloud Vision API、Microsoft Azure OCRなどのOCRエンジンを比較し、手書きや印字されたシリアルナンバーに対して高精度な認識が可能なエンジンを選定しました。特に、特定のフォントやパターンに対応するカスタマイズを行うことで、さらに精度を向上させています。<br><br>3. 開発の主要ステップ<br>まず、入力データをスキャンし、リアルタイムスキャンやバッチ処理によってデータを取得します。その後、画像の前処理を行い、OCRを実行。後処理では、OCRで得られたデータを正規表現でフィルタリングし、シリアルナンバーの抽出精度を高めます。さらに、並列処理や分散処理を導入することで、1件あたりの処理時間を短縮ししました。<br><br>4. データベースと保存<br>抽出されたシリアルナンバーはSQLまたはNoSQLデータベースに保存し、大量のデータに対する迅速な検索や管理を可能にしました。また、精度やエラー発生状況を把握するため、ログ管理も実施しています。<br><br>5. エラー処理と再スキャン<br>OCRのエラーや認識ミスを減らすため、再スキャンや手動確認を導入し、必要に応じてオペレーターが手動で補正できるインターフェースを開発しました。<br><br>6. テストとチューニング<br>開発後、実データを使用してスループットや精度のテストを実施しました。特に毎分90件の処理速度を維持しながら、シリアルナンバーの正確な認識を確認し、システムの最適化を行いました。<br><br>7. メンテナンスと拡張性<br>システムの安定稼働を確保するため、定期的なメンテナンスを行い、処理量の増加にも対応できる拡張性を持たせています。<br><br>このシステムにより、毎分90件のユニークシリアルナンバーを高精度で効率的にデータ変換できる環境を実現しました。 福岡のシステム開発会社