セキュリティ、マシンビジョンなど、カメラの開発や各種システム開発のことなら、ブリクセンにお任せください。
For development of cameras and various systems such as security, machine vision, please contact to Brixen Corp.
画像処理とカメラシステム
Image processing and camera system
画像処理(Image processing)とは、コンピュータを使用して、画像を変形したり、
色合いを変えたり、境界を抽出したり、特徴点を抽出したり、別の画像と合成したり、
画像から何らかの情報を取り出す等の処理全般を指します。
弊社では、主に、オープンソースのOpenCV(Open Source Cumputer Vision Library)を使用しています。
OpenCVは、CPUの拡張命令セットやグラフィックプロセッサ(GPU)を使って、高速に演算処理を行うことが
でき、WindowsやLinuxなどのOSにも対応し、多様な演算ライブラリを実装しています。
また、近年、物体認識dnnモジュールが実装され、画像処理とディープラーニングをOpenCVで使用できるようになりました。
検査工程で、寸法を計測したり、文字を読み取りたいとき、下記のライブラリを組み合わせて、アプリケーションを作成
いたします。
Image processing is the process of transforming an image, changing the hue,
extracting boundaries, extracting feature points, combining with another image,
or combining it with another image using a computer. Refers to all processes
such as information retrieval.
OpenCV is capable of high-speed arithmetic processing using the CPU's
extended instruction set and graphic processor (GPU),
is compatible with operating systems such as Windows and Linux, and implements various arithmetic libraries.
In recent years, the object recognition dnn module has been implemented,
and image processing and deep learning can be used with OpenCV.
When you want to measure dimensions or read characters in the inspection process,
we will create an application by combining the following libraries.
機能一覧
Library list
勾配、エッジ、コーナー (Gradients, Edges and Corners)
サンプリング、補間、幾何変換 (Sampling, Interpolation and Geometrical Transforms)
モルフォロジー(英語版)演算 (Morphological Operations)
フィルタと色変換 (Filters and Color Conversion)
ピラミッドとその応用 (Pyramids and the Applications)
画像分割、領域結合、輪郭検出 (Image Segmentation, Connected Components and Contour Retrieval)
画像と形状のモーメント (Image and Contour Moments)
ヒストグラム (Histograms)
マッチング (Matching)
ラベリング (Labeling)
輪郭処理 (Contour Processing)
計算幾何 (Computational Geometry)
平面再分割 (Planar Subdivisions)
背景統計量の累積 (Accumulation of Background Statistics)
モーションテンプレート (Motion Templates)
物体追跡 (Object Tracking)
オプティカルフロー (Optical Flow)
推定器 (Estimators)
物体検出 (Object Detection)
カメラキャリブレーションと3次元再構成 (Camera Calibration and 3D Reconstruction)
カメラキャリブレーション (Camera Calibration)
姿勢推定 (Pose Estimation)
エピポーラ幾何 (Epipolar Geometry)
単純ベイズ分類器 (Naive Bayes Classifier)
k近傍法 (K Nearest Neighbors)
サポートベクターマシン (SVM)
決定木 (Decision Trees)
ブースティング (Boosting)
Random forest (Random forest)
EMアルゴリズム (Expectation-Maximization)
ニューラルネットワーク (Neural Networks)
描画、表示(Draw and Display image)
シンプルGUI (Simple GUI)
画像の読み込みと保存 (Loading and Saving Images)
ビデオ入出力 (Video I/O)
OpenGL/Direct3D相互運用
事例 1 )
Example 1 )
ゴミの検出、大きさの算出(平坦化、2値化、面積計算) (5メガピクセル グローバルシャッタカメラ使用)
Dust detection、Size calculating (Flattening, binarization, Area calculating) (5 mega pixel / Global shutter camera)
事例 2 )
Example 2 )
ダイキャストの位置計測(円と角度計算) (3メガピクセル グローバルシャッタカメラ使用)
Die cast position(Circule and angle measurement) (3 mega Global shutter camera)
事例 3 ) 開発中
Example 3 ) Developing
部品の自動寸法計測 (12メガピクセル グローバルシャッタカメラ使用)
Automatic dimension measurement (12 mega Global shutter camera)
深層学習 (Deep Learning) 機能とカメラシステム
Deep learning function and camera system
機会学習(Machine Learning)の一つである多層ニューラルネットワーク(Neural Network)は、脳、特に視覚を利用した研究から
発展してきました。近年ニューラルネットワークを使った深層学習(Deep Learning)によって、「分類」「回帰問題」「クラスタリング」
「次元削減」などの用途で、従来の統計学を利用した手法では得られなかった成果を達成する事例が増えてきました。
弊社では、カメラなど周辺機器を組み合わせて、ディープラーニングを活用したセキュリティ、検査、製造装置の企画、開発、販売をおこ
なっております。
Multi-layer neural networks, one of machine learning, have evolved from research using the brain, especially vision.
In recent years, deep learning using neural networks has achieved results that were not possible with conventional
statistical methods in applications such as "classification", "regression problems", "clustering", and "dimension
reduction". Cases have increased.
At our company, we plan, develop and sell security, inspection and manufacturing equipment utilizing deep learning
by combining peripheral devices such as cameras.
弊社のディープラーニング構成
Deep learning structure
ディープラーニングを検討したとき、その対象物の内容、認識精度、処理速度などから、試用するディープラーニングフレームワーク
と物体認識のネットワークを決定します。
その後、プログラムの記述言語を決定し、OSを決定します。処理速度によって、PCのハードウェアを決定していきます。
When deep learning is considered, the deep learning framework to be used and the object recognition network are
determined based on the content, recognition accuracy, and processing speed of the target object.
After that, determine the description language of the program and determine the OS. The processing speed
determines the PC hardware.
フレームワーク
Framework
人間の脳神経系のニューロンを数理モデル化したネットワークをニューラルネットワークと言います。
フレームワークは、このニューラルネットワークを構成する部品を組み合わせたり、外部から定義や
一定形式の学習データを与えたり、学習済みの重み係数を保存・書き込みできる仕組みです。
弊社では、Caffe,
TensorFlow/Keras,
Pytorchを活用しています。
A network that is a mathematical model of neurons in the human cranial nervous system is called a neural network.
The framework is a mechanism that can combine the components that make up this neural network, provide externally
defined and fixed-form learning data, and store / write the learned weighting factors.
We use Caffe,
TensorFlow/Keras,
Pytorch framework.
物体認識
Object detection
ニューラルネットワークを使った物体名と位置を特性する方法をディープラーニング物体認識と言います。
弊社では、SSD(Single Shot Multi Detection), MobileNet-SSD, YoloV3を活用しています。その他、
OpenCVのDnnに既存のフレームワークのニューラルネットワークを設定し、物体を検出する方法もあります。
The method of characterizing the object name and position using a neural network is called
deep learning object recognition.
We use SSD (Single Shot Multi Detection), MobileNet-SSD, and YoloV3. Besides, there is also
a method of detecting an object by setting the neural network of the existing framework in Dnn of OpenCV.
開発環境/言語
Development Environment / Language
弊社では、Pythonを使ったマルチOS環境とC++/CLI+C#を使ったWindows環境をベースにプログラムを開発しています。
We develop programs based on multi-OS environment using Python and Windows environment using C ++ / CLI + C #.
ハードウェア
Hardware
弊社では、
Intel Core i7とNVIDIA GPUを組み合わせたハイエンド
Intel Core i5と並列演算機能を活用したミドルエンド
Intel Core i3とエッジ(Intel MyriadX)を組み合わせたローエンド
のコンピュータを選択することができます。
ミドルエンド、ローエンドは、OpenCVのdnn機能を使うため、トレーニング環境はハイエンドベースのPCが必要となります。
At our company,
High-end combining Intel Core i7 and NVIDIA GPU
Middle-end utilizing Intel Core i5 and parallel computing function
Low-end computer that combines Intel Core i3 and Edge (Intel Myriad X).
The middle-end and low-end use OpenCV's dnn function, so a training environment requires a high-end-based PC.
カメラ
Camera
IPカメラ(ローリングシャッタ,高感度)、マシンビジョン(グローバルシャッタ,高速フレームレート、Webカメラをご用意しております。
用途に合わせて選択することができます。
FLIR社のFireFly DLには、Intel MyriadXが実装されており、カメラ単体で、
物体認識をおkなうことができます。
At our company,
High-end combining Intel Core i7 and NVIDIA GPU
Middle-end utilizing Intel Core i5 and parallel computing function
Low-end computer that combines Intel Core i3 and Edge (Intel Myriad X).
The middle-end and low-end use OpenCV's dnn function, so a training environment requires a high-end-based PC.
テスト/トレーニングフロー
Test and Traing flow
物体認識を行うために、トレーニングデータとして、画像(jpgファイル)とその中の対象物(ラベル)と座標データをまとめた
xmlファイルが必要となります。
そのために、アノテーションツールを使ってデータを作成する必要があります。
弊社では、使いやすいアノテーションツールをご提供しております。
In order to perform object recognition, you need an xml file that contains the image
(jpg file)for taining, the object (label) in it, and the coordinate data.
For that, you need to create the data using annotation tools.
We provide easy-to-use annotation tools.
ディープラーニング物体認識 事例)
Example Deeplearning object detection
アノテーション ツール
Annotation tool
アノテーションツールは、画像ファイル(jpg)の中に存在する認識したい物体を囲った座標データと、認識物体のラベル(名称) を付けたファイル(xml)を生成するツールです。
The annotation tool is that generates coordinate data that encloses the object to be recognized that exists in the image file (jpg) and a file (xml) with the label (name) of the recognized object.
右の画像上で、マウスを使って、四角を描画し、その座標データを左のウィンドウに表示します。 選択した物体のラベル(名称)を真中のウィンドウで選択します。「Save」ボタンを押すと、下記の型式のxmlだファイルを生成します。
Draw a square on the image on the right with the mouse and display the coordinate data in the window on the left. Select the label (name) of the selected object in the middle window. Click the "Save" button to generate an xml file with the following model.
アノテーションツールの画面
Display image of annotation tool
Annotation tool | 150,000 円~ |
お客様のご使用環境、用途に合わせて、カスタマイズに対応いたします。
We can customize according to your environment and usage.
xmlファイル
xml file