島根県産業技術センター研究報告第49号（2013）

技術レポートFPGA を利用した画像処理システムの開発
細谷

1．目

達夫＊・大峠忍＊・竹下英樹＊＊無いカントバック法に適した表面状態を持っているかを検的査する画像処理システムを試作する．また，この試作開発

FPGA（Field Programmable Gate Array）は，ユーザを通して，今後，県内電子技術関連企業が FPGA を利用によるプログラムが可能な LSI で，ハードウェアでありなした製品開発を行う際に，その支援のための基礎技術を確がら，回路のデバッグ，回路設計仕様変更への対応が基板立していくことを目的とする．の改造なしに可能である．また，場合によっては，出荷後2．方の製品に対しても回路の変更が可能である等のフレキシビリティを有している．従来から，その特性を活かした応用

2.1

法

全体構成が進んでいたが，既に普及しているマイコンに比べて単価

今回の開発では，図 2 に示すように，CCD カメラにが高く，また，IC 設計にノウハウが必要なことが，普及

AV ボードを接続して画像信号を規格に従ったディジタルのボトルネックとなっていた．しかし，ここ数年，FPGA信号に変換し，それより後の信号処理は FPGA を用いての低価格化と性能向上が多くの導入事例を産み，電子製品行うこととした．画像処理を行う FPGA は，システム全開発における注目の技術となって来ている．

般の制御を行うシーケンサと接続し，シーケンサから画像

このような背景のもと，画像処理装置の共同研究開発を処理開始の指示を受け，処理結果をシーケンサに返送すエステック㈱と島根県が実施することとなったが，本研究る．画像処理を行う際のパラメータ設定，つまり，画像処には FPGA の利点が生かせると判断し，Linux を含むシス

理範囲の指定，二値化の閾値等は，図 2 の「画像処理パラテムを搭載した本格的な FPGA システムを構築することメータ設定用 PC」から，図 3 のような画面を通して行う．になった．画像解析の概要を図 1 に示す．図にあるように，その際，この機能は cgi を使って実現しているため，「画金属材料を炉で調製する際，適宜試料を取り出し，カント

像処理パラメータ設定用 PC」には専用の設定用ソフトバック法で成分分析を行う．本研究では，取り出し，切断ウェアをインストールする必要はなく，Windows のイン研磨されたボンブ試料が，キズ，空洞，欠けなどの欠陥のターネットエクスプローラに代表される Web ブラウザで，溶鉱炉
電気炉ボンブ試料
カントバック法で成分分析

溶けた金属
ボンブ試料

図 1 画像解析の概要＊

電子・電気技術グループ，＊＊エステック㈱－ 48 －

画像処理

磨き

切断

キズ、空洞、欠けの検出

細谷・大峠・竹下：FPGA を利用した画像処理システムの開発

画像処理パラメータ設定用PC（特別なプログラムをインストールせずブラウザソフトのみで機能）

LAN接続された任意のPCによるブラウザでのモニタリング

シーケンサ

三菱
Model FX1s-30MR

画像処理開始を指示
良否判定結果を回答

FPGA

AVボード

アットマークテクノ
Suzaku-S

カメラ

アットマークテクノ
SIV00-U00

MINTRONMTV-73X11HN

図 2 画像処理システムの構成FPGA

シーケンサとの通信を行なう
画像処理
ソフトウェア
シーケンサと通信を行なう
ハードウェアLAN上PCとの通信用
cgiプログラム
Webサーバー
thttpdμClinux

小規模なWebサーバ
用デーモン

マイクロコントローラ用のLinux
仮想記憶機能が無い
Shellコマンドが貧弱

カメラとの通信を行なう
ハードウェアMicroBlaze CPU

32ビットRISC
ハード設計の変
更でIO等の変更が容易

図 4 FPGA 内に実装されている機能て採用したシステム仕様を図 4 にまとめて示した，主な点は次のとおりである．
① CPU と し て Xilinx 社 の 提 供 す る ソ フ ト コ ア CPU の

図 3 ブラウザで設定される画像処理条件等

MicroBlaze を組み込んだ．
②基本 OS としてμ Clinux を搭載した．
③画像処理支援のためのハードウェア（特に画像データ転FPGA に設定された IP アドレスを読みに行けばよい．モ送回路）を FPGA 上に設計した．

ニタリング用 PC においても同様に，ブラウザでの画像処④ MicroBlaze 上 に は 画 像 処 理 プ ロ グ ラ ム だ け で な く，理状況の監視が可能となる．

LAN 接続された PC，RS232C 接続されたシーケンサとの2.2通信プログラムが搭載されている．

FPGA に実装された機能

FPGA の中に組み込まれた機能について，試作にあたっ⑤組込みボードということで，電源投入時にログインプロ－ 49 －

島根県産業技術センター研究報告第49号（2013）

図 5 試作に使用したカメラ，ボード類

原画像

エッジ抽出

図 6 画像処理結果の例（濃淡処理後，エッジ抽出）

グラムを利用せず，制御プログラムが自動起動する．

いものの，ネットワーク利用によるシステムの遠隔制御・

2.3

モニタリングを行うため，小規模ではあるがイーサネット実装された機能の意図と特徴

2.2 項に示した機能の意図と特徴は次のとおりである．のプロトコルスタックを利用できるμClinux を採用した．

①については，完全に独自の仕様の CPU を開発するこなお，μClinux はマイクロコントローラ用の Linux でとも可能であり，実際独自の専用 CPU を搭載している機「ユーシーリナックス」と呼ばれることが多い．

器は多数存在する．今後の電子関連製品開発の動向によっては取り組まなければならないテーマではあるが，その際③の画像データ転送回路については，サンプルとして提供されていた VHDL ファイルをもとに作成した．には，独自のコンパイラも同時に作成する必要があり，こ④の画像処理及び通信プログラムの開発環境は，アットれ自体が，一つの研究テーマとなり得る開発内容を持ってマークテクノ社が提供したものを使用した．パソコン上のいる．そこで，今回は，Xilinx 社の提供する既存の CPU

VMware にターゲットと同じ種類の Linux を載せて C 言コアと，その開発環境を用いることとした．

語のクロスコンパイラで画像処理システム用プログラムを②の OS については，通常のパソコンと異なり，OS を作成し，OS とともに FPGA に転送して，システムを構築用いない方法もあるが，今回は，リアルタイム性は必要なした．デバッグの段階では，システム全体の書込みは時間－ 50 －細谷・大峠・竹下：FPGA を利用した画像処理システムの開発がかかるため，画像処理システム用の実行コードだけを6 種類の言語にわたっている．その他にも，Linux に関すFTP で FPGA に転送し，動作確認を行った．

る FTP，Vi，Make 等のツール，コマンド類の使い方や⑤のプログラムの自動起動については，種々の方法が考起動の仕組み，シリアル通信に関する通信設定に合わせたえられるが，今回は，シーケンサプログラムから FPGA

ケーブル設計，ネットワーク技術に関する cgi や daemon

へ制御開始コマンドを自動送信することによって実現し管理等のさまざまな知識が要求された．

た．

そのため，FPGA を使ってシステムをコンパクトに最適

図 5 に実際に使用したカメラおよびボード類の写真を示す．

化する技術は，原理的には実用の域に入ったものの，実際にシステム開発を少数の技術者で実施するためには相当量

3．結の技術習得を要し，個々の技術者にかなりのポテンシャル果を求めることになる．とはいえ，技術者の絶対数が少ない開発した画像処理システムによって行なわれたエッジ抽

県内中小企業を想定した時，この高いハードルを越えるこ出に関する画像処理の例を図 6 に示す．実際に試料の表面との意義は非常に大きい．今回構築したシステムは，欠陥欠陥を制御に用いる場合は，図 3 のエッジ抽出画像の左側の画像処理診断に十分な性能を持っていることが確認できに特に明るい円形で指定しているように，画像の一部をたが，その画像処理機能そのものよりも，産業技術センター

エッジカウントを行う領域としてパラメータで設定できを核に，多機能システムをワンチップに搭載する FPGAる．また，同様に各種画像処理において必要となる二値化技術を普及させることが，県内電子産業の競争力を飛躍的の閾値もパラメータ設定可能である．画像処理前の画像と，に高めると期待される．

処理パラメータを使って変換された画像および処理結果の文

確認は，FPGA ボードと LAN で遠隔接続されている任意

以下に示す文献は，本研究開発の全般に渡って参照しての PC から可能であり，実際の工場における工程管理におきたものである．また，㈱アットマークテクノ社のマニュいて役立つものと期待できる．

4．まと献

アル類については，随時最新のものをダウンロードして参め考資料とした．

FPGA は最先端の多機能なハードウェア，ソフトウェアをワンチップ化できること，また，機能分担の設計が可能であり，その最適化によるスループットの最大化が可能であること等により，組み込み産業に浸透してきている．しかし，集約できる機能そのものが使いやすくなったわけではない．今回，この画像処理という一つのシステム構築に用いたものは，言語だけでも，VHDL：ハードウェア記述
言語，C 言語：一般的なプログラム言語，HTML：Web
ブラウザの表示用言語，JavaScript：ブラウザに動的な制御機能を持たせる言語，Shell Script：Linux 上でのコマンド管理言語，Ladder 言語：シーケンサの動作記述言語の1）（株）アットマークテクノ . SUZAKU スターターキットガイド（FPGA 開発編）.
2）（株）アットマークテクノ . SUZAKU スターターキットガイド（Linux 開発編）.
3）（株）アットマークテクノ . SUZAKU AV ボード ハードウェ
アマニュアル .
4）（株）アットマークテクノ . uClinux-dist 開発者ガイド .
5）（株）アットマークテクノ . ATDE Install Guide.
6）（株）アットマークテクノ．SUZAKU-S ソフトウェアマニュア
ル7） Steve Kilts. Advanced FPGA Design Architecture
Implementation and Optimization. Wiley-IEEE Press.
8） Karim Yaghmour. Building Embedded Linux Systems.
O'Reilly Media.

－ 51 －