畳み込みニューラルネットワークの魅力を徹底解説!初心者にもわかりやすく解説します
#畳み込みニューラルネットワーク#畳み込み#ニューラル#ネットワーク

query_builder 2025/08/12
畳み込みニューラルネットワーク(CNN)は、ニューラルネットワークの中でも特に画像認識に優れた技術ですが、その仕組みを理解するのは初心者にとっては容易ではありません。本記事では、畳み込みニューラルネットワークの基本構造から、実用的な応用例までをわかりやすく説明します。畳み込み層やプーリング層の役割、カーネルやパディングといった専門用語も具体例を交えて深掘りし、シンプルに解説します。記事を読み終えるころには、CNNのメリットやその活用方法について、より深い理解が得られることでしょう。相談内容や実体験も交えながら、初心者から一歩踏み出したい方に役立つ内容です。 #ディープラーニング #機械学習 #画像認識 #AI #データ解析
時友畳商店
ロゴ
昭和40年の創業から続く歴史ある畳店として、表替えや新調などを通じて畳のある豊かな暮らしを支えています。これからも確かな技術と丁寧な対応を大切に、暮らしの心地よさを伊丹周辺で向上させてまいります。
時友畳商店
所在地:

〒661-0047

兵庫県尼崎市西昆陽一丁目1-19

電話番号:
06-6431-9491

畳み込みニューラルネットワークの基本構造とは

畳み込みニューラルネットワークは、ディープラーニングの中でも重要な役割を持ち、特に画像認識での活用が盛んです。しかし、構造が複雑であるため、初心者にとっては理解しにくい部分もあります。ここでは、基本的な構造について詳しく見ていきましょう。

畳み込み層とプーリング層の役割を理解する

畳み込みニューラルネットワークの基本構造を理解する際、特に注目すべきは畳み込み層とプーリング層の役割です。これらの層は、画像から有用な情報を抽出し、認識精度を向上させるために重要な役割を果たしています。

まず、畳み込み層について説明します。この層は、入力された画像データから特徴量を引き出すことに特化しています。具体的には、画像全体に複数のカーネル(フィルター)を適用し、それぞれのカーネルが特定のパターンや特徴を捉えます。これにより、たとえばエッジやテクスチャ、形状などの情報が強調され、次の層への入力として処理しやすい形に変換されるのです。畳み込み層は、非常に多くの特徴を一度に抽出できるため、深層学習において非常に効率的です。

次に、プーリング層の役割について考えます。プーリング層は、特徴量マップのサイズを縮小することで、計算量を減らし、重要な情報を保持する役割を担っています。具体的な動作としては、通常「最大プーリング」や「平均プーリング」と呼ばれる手法が採用され、一定の範囲内で最も大きい値または平均値を選び出して次の層へと引き継ぎます。これにより、画像のサイズが縮小され、計算負荷が軽減されるとともに、過学習のリスクも低減されます。

私たちの経験上、畳み込み層とプーリング層を適切に配置することで、画像認識タスクの精度が大きく向上することが確認されています。たとえば、顔認識や物体検出のプロジェクトでは、この二つの層が情報を精確に抽出し、処理することが成功の鍵となることが多いです。

このように、畳み込み層とプーリング層は、畳み込みニューラルネットワークの中で非常に重要な役割を果たしており、これらの機能を理解することは、これからのディープラーニングの学習においても大いに役立つでしょう。

カーネルとパディングの重要性

畳み込みニューラルネットワークにおいて、カーネルとパディングはそれぞれ特有の重要性を持ち、全体の性能に大きく影響を与えます。これらの要素を理解することで、より効果的なCNNモデルの構築が可能になります。

まずカーネルについて説明します。カーネルは、画像の特定の領域から特徴を引き出すためのフィルターの役割を果たします。カーネルは通常、小さな行列の形式をとり、画像全体に適用されることで、局所的な情報を抽出します。その実際の動きは、カーネルを画像の上でスライドさせながら、各位置での積を求め、結果を生成するというものです。このプロセスによって、画像内の重要なエッジやディテールを捉えることができます。カーネルのサイズや形状は、抽出される特徴の種類や精度に大きく影響を与えるため、適切な選定が必要です。

次に、パディングの重要性について考えます。パディングは、入力画像の周囲にゼロや他の値を追加する方法です。この操作は、畳み込み処理における情報の損失を防ぐために重要です。特に、画像の端に近い部分の情報は畳み込み操作によって失われやすく、結果として特徴量の不均一性を引き起こす可能性があります。パディングを施すことにより、畳み込み層が全体の画像を均等に処理できるようになり、隅々まで情報を利用した抽出が可能になります。

実際のプロジェクトにおいて、多くのエンジニアがカーネルサイズやパディングの設定を試行錯誤しています。たとえば、特定のデータセットに最適なカーネルサイズを見つけた結果、他のプロジェクトと比較して精度が向上したといった報告もあります。カーネルのサイズを変えることで、検出できる特徴の幅が広がり、パディングを調整することで処理結果の一貫性が保たれるのです。

このように、カーネルとパディングは畳み込みニューラルネットワークの成功に欠かせない要素であり、これらを適切に設定することで、より高性能なモデルを構築することが可能となります。深く理解し、実践に活かすことが重要です。

画像認識における具体的な応用例

畳み込みニューラルネットワークは画像認識において非常に強力なツールです。私たちの身近にある実際の例を見ることで、その実用性を感じていただけるかと思います。ここからは、いくつかの応用例を紹介していきます。

顔認識技術での日常的な活用

顔認識技術は、畳み込みニューラルネットワークの代表的な応用例の一つとして、私たちの日常生活に深く根付いています。特にスマートフォンや監視カメラなどでの活用は急速に広まり、私たちの安全や利便性を高めています。

例えば、スマートフォンの顔認証機能は多くの人が日常的に利用しています。これにより、ユーザーはパスワードや指紋認証に頼ることなく、顔がカメラに映るだけで簡単にデバイスをアンロックできるのです。この便利さは、私たちの生活に快適さをもたらし、セキュリティ面でも安心感を高めています。顔認識システムは、本人確認だけでなく、特定のアプリケーションとの連携によって、個々のユーザーに合わせた情報提供を行うことも可能です。

さらに、監視カメラでの顔認識技術も普及しています。商業施設や公共の場に設置された監視カメラは、特定の人物を追跡するために顔認識システムを活用しています。この技術は、不審者の早期発見や犯罪の防止、さらには混雑度の管理にも役立っています。また、企業においては従業員の出退勤管理や、オフィス内のセキュリティ向上にも使われることが増えています。

私たちの経験からも、顔認識技術の導入によって、業務の効率化やコスト削減が実現した事例は多く存在します。例えば、ある企業では顔認識に基づく入退室管理を導入した結果、従業員のセキュリティレベルが向上し、手動での管理にかかる手間を大幅に削減することができました。このように、顔認識技術はビジネス界にも広がりを見せ、ますます重要な技術となっています。

ただし、プライバシーの問題も懸念されており、顔認識技術を利用する上での倫理的な問題に対する配慮も求められています。利用者の同意や情報管理がしっかりと行われることが、今後の発展には欠かせません。

顔認識技術は、私たちの生活のさまざまな側面でその恩恵をもたらし続けています。今後も技術の進化とともに、より一層の利便性や安全性を提供していくことが期待されています。

医療分野での画像解析

畳み込みニューラルネットワークは、医療分野においても大きな変革をもたらしています。特に画像解析において、MRIやCTスキャンなどの医療画像の診断支援に活用されており、医療従事者にとって非常に重要なツールとなっています。

これまで、医療画像の解析は専門的な知識を持つ放射線科医による視覚的な判断に依存していました。しかし、畳み込みニューラルネットワークを採用することで、画像からの病変の検出や診断がより迅速かつ正確に行えるようになりました。特に、がんや脳卒中、心疾患などの重大な病気に対して、早期に異常を発見することが重要です。CNNは、大量の医療画像データから学習し、人間が見逃しがちな微細な変化やパターンを特定する能力に優れています。

実際に、いくつかの病院や医療機関では、畳み込みニューラルネットワークを用いたシステムが導入され、診断の精度向上が報告されています。たとえば、ある病院では乳がんの早期発見のためにCNNを利用した画像解析システムを導入した結果、診断の精度が向上し、早期の治療が可能になった事例があります。このように、医療技術の進歩により、患者の命を救う可能性が広がっています。

また、CNNは、他の診断ツールと連携して使用されることが多く、医療従事者が治療方針を決定する際の有力な情報源となっています。たとえば、医療画像解析システムが検出した結果をもとに、医師が具体的な治療方法やさらに必要な検査を考慮することができます。このように、医療現場におけるデータ駆動型のアプローチが、診断精度の向上だけでなく、医療システム全体の効率化に寄与しています。

一方で、AI技術の導入に関しては、倫理的および法的な課題もあります。患者のプライバシーを守るためや、AIシステムの誤診を防ぐために、透明性ある運用と監督が求められます。

医療分野において、畳み込みニューラルネットワークの技術が進化することで、私たちの健康管理に対するアプローチも変わりつつあります。今後もこの技術の発展と適切な運用が、患者にとっての利益を最大化することにつながるでしょう。

なぜ畳み込みニューラルネットワークは優れているのか

多層構造を持つ畳み込みニューラルネットワークが、なぜここまで認識精度を向上させられるのでしょうか。技術的側面はもちろん、理論に基づいた背景が理解できます。

効率的な特徴抽出の仕組み

畳み込みニューラルネットワークの強力な機能の一つは、効率的な特徴抽出の仕組みにあります。通常、画像から必要な情報を引き出すためには、数多くの手間と時間がかかりますが、CNNはその過程を自動化し、迅速かつ効果的に行います。

まず、畳み込み層においては、カーネルが画像全体に適用されることで、局所的な特徴を捉えます。このプロセスでは、カーネルが画像内をスライドして各位置における特徴を抽出します。例えば、エッジや角、テクスチャなどが特定されます。このようにして得られた特徴マップは、さらに深い層に進む際の情報として活用されます。この段階で、重要な特徴が強調され、ノイズや不要な情報は自然に排除されます。

また、各畳み込み層の後にはプーリング層が配置されることが一般的です。プーリング層は、特徴マップのサイズを縮小しながら、重要な情報を保持します。最大プーリングや平均プーリングといった手法によって、特徴の圧縮が行われ、計算負担も軽減されます。この縮小により、モデルが持つ情報量は保たれながら、ダイナミックな変化が可能になります。

さらに、畳み込みニューラルネットワークは多層構造を持つことで、より抽象的な特徴の学習を支援します。初層では単純な特徴を捉え、深い層に進むにつれて、より複雑で高次の特徴が抽出されるのです。たとえば、初層ではエッジやテクスチャ、次層では顔の形や部品、最終層ではその顔が誰であるかといった情報まで認識できるようになります。

このような効率的な特徴抽出の仕組みは、他の機械学習手法に比べて、精度を高めるだけでなく、トレーニングに必要なデータ量も減少させることが可能です。これにより、少ないデータでも高い認識精度を実現することができ、多くの実世界の応用において非常に重要な役割を果たしています。畳み込みニューラルネットワークのこの特徴抽出能力は、今後もさまざまな分野での応用が期待されています。

空間的な解釈能力

畳み込みニューラルネットワークが持つもう一つの重要な特徴は、空間的な解釈能力です。この能力は、画像や動画などの空間的データを理解し、処理するための力を指します。CNNは、特にこの空間的な情報を効果的に扱うことで、従来の機械学習手法よりも優れた性能を発揮します。

まず、CNNは画像内の近接したピクセルの関係性を捉えることが得意です。カーネルが画像の小さな領域に対して適用されることで、局所的なパターンや構造を識別します。このプロセスにより、CNNは物体の輪郭や質感、さらには位置関係を理解します。例えば、犬の画像においては、耳の形や鼻の位置など、犬を構成するさまざまな特徴を同時に認識することができるのです。

また、CNNの層が深くなるにつれて、空間的な解釈能力はさらに発展します。初層ではシンプルな特徴が捉えられ、中層ではそれらの特徴が組み合わさってより複雑なパターンが認識されます。最終的には、画像全体のコンテキストを把握し、特定の物体や事象を正確に理解することが可能になります。この特性により、CNNは物体検出やシーン解析、さらには画像生成といった多様なタスクに対応できる力を持っています。

さらに、空間的な解釈能力は、動画処理や音声認識にも応用されています。動画においては、連続するフレームに対する時間的な情報も含めて処理することで、動作やイベントを認識する能力が強化されます。したがって、CNNは単なる静止画の解析にとどまらず、動的なコンテンツの理解にも対応できるのです。

このように、畳み込みニューラルネットワークの空間的な解釈能力は、さまざまな応用を可能にし、特に視覚情報に基づく判断やアクションを伴うシステムにおいて不可欠な要素です。この能力がこそ、現代の多くのAI技術の基盤を支えています。今後もこの特性を活かした新たな応用が期待されています。

Pythonを使った畳み込みニューラルネットワークの実装

畳み込みニューラルネットワークを実際に実装する方法について、Pythonを用いた基本的な手法を紹介します。初心者向けにシンプルな例を交えることで、手軽に始められる手法をお伝えします。

ライブラリの選び方

畳み込みニューラルネットワークを実装する際には、適切なライブラリの選択が非常に重要です。正しいライブラリを選ぶことで、開発プロセスがスムーズになり、効率的にモデルを構築することが可能になります。ここでは、主要なライブラリの特徴を考慮しながら、選び方について説明します。

まず、多くのエンジニアが利用する代表的なライブラリとしては、TensorFlowやKeras、PyTorchなどがあります。それぞれのライブラリには独自の特性があり、目的やプロジェクトの性質に応じて選ぶことが重要です。

TensorFlowは、Googleが開発したライブラリで、高度なグラフ計算を要する大規模なプロジェクトに向いています。特に、分散処理やモデルの最適化に強みを持ち、商業向けのアプリケーションにも多く利用されています。反面、初学者には若干の学習コストがかかるかもしれません。

Kerasは、TensorFlowの上に構築されたハイレベルなインターフェースを持つライブラリです。直感的なAPIが特徴で、初心者でも使いやすく、短時間でモデルを構築したい人におすすめです。Kerasを使用することで、複雑なコードを簡潔に書くことができます。

一方、PyTorchは、Facebookが開発したライブラリで、動的な計算グラフを利用しています。これにより、柔軟なモデル作りが可能で、研究や実験的な開発に向いています。特に、深層学習の研究者や大学での教育において人気があります。

ライブラリを選ぶ際には、自身のスキルレベルやプロジェクトの要件を考慮することが大切です。また、コミュニティの活発さやドキュメントの充実度も、選択の要因として重要視してください。特に初心者の場合、サポートを受けやすい環境を持つライブラリを選ぶことで、スムーズな学習が期待できます。

このように、畳み込みニューラルネットワークのライブラリ選びは、今後の進展に直接的な影響を与えるため、慎重に検討することが不可欠です。目的に最適なライブラリを選ぶことで、充実した開発体験が得られるでしょう。

簡単なCNNモデルの作成例

ここでは、簡単な畳み込みニューラルネットワーク(CNN)モデルの作成例を示します。今回は、Kerasを使用して手書き数字のデータセットである「MNIST」を分類するシンプルなモデルを構築してみます。このプロジェクトを通じて、CNNの基本的な構造を理解することができます。

まず、必要なライブラリをインポートします。Kerasには、CNNを構築するための便利な関数が多数用意されています。

```python
import tensorflow as tf
from tensorflow.keras import layers, models
from tensorflow.keras.datasets import mnist
```

次に、MNISTデータセットをロードし、データの前処理を行います。このデータセットは、手書きの数字(0から9)で構成された60,000のトレーニングデータと10,000のテストデータが含まれています。

```python

(x_train, y_train), (x_test, y_test) = mnist.load_data()


x_train = x_train.reshape((60000, 28, 28, 1)).astype('float32') / 255
x_test = x_test.reshape((10000, 28, 28, 1)).astype('float32') / 255
```

画像は28x28ピクセルで、すべてのピクセル値を0から1の範囲にスケーリングします。

次に、CNNモデルを定義します。

```python
model = models.Sequential()
model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Flatten())
model.add(layers.Dense(64, activation='relu'))
model.add(layers.Dense(10, activation='softmax'))
```

このモデルは、2つの畳み込み層とプーリング層を持ち、最終的には2つの全結合層で構成されています。最後の層は、手書き数字のカテゴリを分類するためのもので、活性化関数にはsoftmaxを使用しています。

モデルをコンパイルし、トレーニングを行います。

```python
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
model.fit(x_train, y_train, epochs=5)
```

この学習プロセスにはわずか5エポックを設定していますが、実際の使用では調整が必要です。トレーニングが完了したら、テストデータに対するモデルの性能を評価できます。

```python
test_loss, test_acc = model.evaluate(x_test, y_test)
print('テスト精度:', test_acc)
```

この例を通じて、簡単なCNNモデルの構築方法を学ぶことができ、実際に手書き数字の認識を行うことができます。これを基に、さらに複雑なモデルやデータセットに挑戦してみることをおすすめします。

畳み込みニューラルネットワークに関するよくある質問

畳み込みニューラルネットワークに関する質問は非常に多岐にわたります。ここでは、よく寄せられる質問とその解答をまとめました。初心者の方でも疑問を解消できる情報を提供します。

畳み込み処理とは何か?

畳み込み処理とは、特に画像データの解析において利用される重要な技術です。この処理は、入力画像に対してカーネルと呼ばれるフィルターを適用し、画像内の特徴を抽出するものです。具体的には、カーネルが画像全体をスライドしながら、各位置でのピクセルの値とカーネルの中の値を掛け合わせ、合計を算出します。この結果は特徴マップとして出力され、画像のエッジやテクスチャなどの重要な情報を強調する役割を果たします。

畳み込み処理は、他の手法に比べて優れた空間的な関係性を捉える能力を持っており、局所的なパターンを自動的に抽出することが可能です。また、同じカーネルを使用するため、計算効率が高く、モデルの学習が容易になる利点もあります。このように、畳み込み処理は畳み込みニューラルネットワークの中心的な機能であり、画像認識や分類において欠かせない手法となっています。

畳み込み層とプーリング層の違い

畳み込み層とプーリング層は、畳み込みニューラルネットワークにおいて異なる役割を果たしています。まず、畳み込み層は、入力画像から特徴を抽出するための層です。ここで、カーネルが画像に適用されることによって、エッジやテクスチャといった局所的な特徴が強調され、次の層への情報が整理されます。この過程では、特徴マップが生成され、次の処理に必要な情報が集約されます。

一方、プーリング層は、特徴マップのサイズを縮小する役割を担っています。主に「最大プーリング」や「平均プーリング」の手法が用いられ、特徴量の圧縮が行われます。プーリング層により計算負荷が軽減されるとともに、重要な情報が保持されます。一般的に、畳み込み層が特徴を抽出し、プーリング層がその情報を効率的に整理するという流れで、しっかりとしたネットワークが形成されます。これにより、より精度の高い認識が可能となるのです。

カーネルのサイズ選びが重要な理由

畳み込みニューラルネットワークの重要な要素であるカーネルは、そのサイズが結果に大きな影響を与えます。ここでは、その理由を細かく説明します。

サイズが精度に及ぼす影響

カーネルのサイズは、畳み込みニューラルネットワークにおける精度に大きな影響を与える要素の一つです。カーネルが大きすぎると、広範囲の情報を捉えることができる一方で、細かい特徴が見落とされる可能性があります。たとえば、細かいエッジやテクスチャの情報が失われると、物体の形状を正確に把握できず、認識精度が低下する恐れがあります。

逆に、カーネルが小さすぎると、局所的な特徴は捉えやすいものの、全体像を把握するのが難しくなる場合があり、重要な情報が分散してしまいます。このため、カーネルのサイズ選びは、モデル全体の性能を左右するため慎重に行う必要があります。実際のプロジェクトでは、適切なカーネルサイズを見つけるための試行錯誤が重要であり、データセットやタスクに応じた調整が求められます。

最適なサイズの見つけ方

最適なカーネルサイズを見つけるためには、いくつかのアプローチを試みることが重要です。まず、基本的なカーネルサイズとしては、一般的に3x3や5x5のサイズがよく使用されます。これらのサイズから始めることで、基本的な特徴抽出が行いやすくなります。

次に、モデルを構築した後は、実際のデータセットを用いて性能評価を行います。複数のカーネルサイズを試し、それぞれの結果を比較することで、どのサイズが最も良い精度を引き出せるかを見極めます。交差検証を用いると、より客観的かつ信頼性の高い評価が行えます。

さらに、特定のタスクやデータの特性に応じて、異なるカーネルサイズを組み合わせることも効果的です。層ごとに異なるサイズのカーネルを用いることで、広範囲の情報と局所的な詳細情報の両方を捉えることが可能になります。このように、最適なカーネルサイズを見つけるための試行錯誤と工夫が、モデルの精度向上には不可欠です。

お客様からの相談内容とそれに対する提案

私たちの元には、お客様から畳み込みニューラルネットワークに関する様々な相談が寄せられます。ここでは、それに対する具体的なアドバイスや提案を記載しています。

初心者におすすめの学習ステップ

畳み込みニューラルネットワークを学ぶための初心者におすすめの学習ステップは、段階的に進めることが重要です。まず、基本的な数学的知識、特に線形代数と微積分の基礎を理解しておくと、後の学習がスムーズになります。次に、機械学習の基礎を学ぶことをお勧めします。これは、教師あり学習や教師なし学習の概念に慣れるために必要です。

次のステップとして、Pythonを用いたプログラミングの基礎を身につけ、その後、TensorFlowやKerasなどのライブラリを使って簡単なモデルを作成します。実際のデータセットを使って手を動かすことで、理解が深まります。そして、さらなる応用として、画像認識や物体検出のプロジェクトに挑戦することで、実践的なスキルを身につけることができます。このような段階を踏むことで、初心者でも無理なく畳み込みニューラルネットワークの学びを進められるでしょう。

よくある誤解の解消方法

畳み込みニューラルネットワークに関する誤解は多く存在しますが、これを解消するためには正しい情報を理解し、具体的な事例を交えることが効果的です。例えば、CNNは画像認識に特化していると考えがちですが、実際には音声認識や動画解析など、さまざまな用途に適用可能です。この点を明確にすることで、理解が深まります。

また、畳み込み層とプーリング層の役割を混同することもよくあります。畳み込み層が特徴を抽出するのに対し、プーリング層はその情報を圧縮する役割を果たしているということを具体的に説明することで区別がつきやすくなります。

さらに、実際にモデルを動かしてみることが、誤解を解消する最も効果的な方法です。自分で試行錯誤することで、理論だけでは得られない実感を得ることができます。正しい手法や知識を持った上で実践することが、誤解を減らすための鍵となります。

まとめと次の学びへのステップ

畳み込みニューラルネットワークは少しずつ理解を深め、高度に活用することで強力なツールとなります。ここでは、これまでのまとめと次に進むためのヒントを提供します。

重要なポイントの振り返り

今回の内容では、畳み込みニューラルネットワークの基本的な構造と仕組みを学びました。特に、畳み込み層が画像から特徴を抽出し、プーリング層がその情報を圧縮する役割を持つことが重要なポイントです。また、カーネルのサイズやパディングの選び方が、モデルの精度に大きな影響を与えることも確認しました。

さらに、顔認識や医療分野での具体的な応用例を通じて、CNNが日常生活や専門分野でどのように利用されているかを感じることができました。学習ステップやよくある誤解についても振り返り、理解を深めるための方法を確認しました。これらのポイントを押さえることで、今後の学びや実践に役立てていただければと思います。

さらなる学びへの扉

これまで学んできた畳み込みニューラルネットワークの知識を基に、さらなる学びへの扉を開くためには、いくつかのステップがあります。まず、より高度なモデルの構築に挑戦することをお勧めします。例えば、転移学習を利用して、既存のモデルを fine-tuning することで、少量のデータからでも高精度な結果を得られる方法を習得できます。

また、異なるタスクへの応用を考えてみるのも良いでしょう。物体検出やセグメンテーションなど、CNNが活躍する他の領域に触れることで、理解がさらに深まります。そして、実際のプロジェクトに参加することで、実践的なスキルを磨ける絶好の機会となります。フォーラムやコミュニティに参加し、知識を共有することも、お互いに学び合うための素晴らしい手段です。これらの学びを通じて、畳み込みニューラルネットワークの理解をさらに広げていきましょう。

時友畳商店
ロゴ
昭和40年の創業から続く歴史ある畳店として、表替えや新調などを通じて畳のある豊かな暮らしを支えています。これからも確かな技術と丁寧な対応を大切に、暮らしの心地よさを伊丹周辺で向上させてまいります。
時友畳商店

〒661-0047

兵庫県尼崎市西昆陽一丁目1-19

popup_banner (25)